程序在這里,粗心的我- [em01]
- #include <Metro.h>
- #include <SoftwareSerial.h>
- SoftwareSerial DLSerial(2, 3); // 軟串口 RX(D2), TX(D3) 紅
- String stringOne="";//存儲接收的“+5.5019e+06,BIN00”
-
- Metro blink1Metro = Metro(1000); //把 blink1Metro 實例化 Metro 對象 ,并設置間隔時間
- Metro blink2Metro = Metro(1000); //把 blink2Metro 實例化 Metro 對象 ,并設置間隔時間
-
- void setup(){
- DLSerial.begin(38400); //設備波特率38400
- Serial.begin(9600) ;//默認串口波特率9600
- pinMode(7,OUTPUT); // Step
- pinMode(6,OUTPUT); // Dir 方向
- }
-
- void loop(){
-
- if(blink1Metro.check()){ //檢查blink1Metro間隔(我的理解是計時器每隔100毫秒就會返回true,就執行以下程序)
- digitalWrite(6,HIGH); // 方向拉高
- for(int x = 0; x < 6400; x++) // Loop 2000 times //6400
- {
- digitalWrite(7,HIGH); //
- delayMicroseconds(250); // Wait ms
- digitalWrite(7,LOW); //
- delayMicroseconds(250); // Wait ms 250 2000HZ 周期0.5ms
- //正轉
- }
- //delay(1000); //
-
- digitalWrite(6,LOW); // Set Dir high
- for(int x = 0; x < 6400; x++) // Loop 6400 times
- {
- digitalWrite(7,HIGH); //
- delayMicroseconds(250); // Wait ms
- digitalWrite(7,LOW); //
- delayMicroseconds(250); // Wait ms
- }
- // delay(1000);
- }
-
- if(blink2Metro.check()){
- int val=analogRead(0);//讀取模擬接口0 的值,并將其賦給val
- Serial.println(val);//顯示出val 的值 Serial.println(val,DEC);
- DLSerial.write("fetch?"); //發送字節數據
- delay(500); //延時500ms
- if (DLSerial.available()>0) //如果緩存中有接收到的數據
- {
- String stringOne = DLSerial.readString(); //讀取軟串口數據賦給字符串stringOne
- Serial.print(stringOne); //通過串口發到PC
- }
- }
- }
復制代碼 |