程序在这里,粗心的我- [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
- }
- }
- }
复制代码 |