我正试图通过RS232从一个称重秤KERN 220-3nm到Arduino Uno获得重量。
#include <SoftwareSerial.h>
SoftwareSerial mySerial(5,4);
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
}
void loop() {
char a[200] = {0};
if (mySerial.available()){
for (int i=0; i<20; i++) {
a[i] = mySerial.read();
Serial.println(a[i],BIN);
}
}
}
结果如下所示,后面是1s。
11111111111111111111111111101001
11111111111111111111111111110000
11111111111111111111111110001110
1110
11111111111111111111111110011111
11111111111111111111111111100000
1110
11111111111111111111111110100011
1111100
11
1110
11111111111111111111111110010001
11111111111111111111111111000000
11
1110001
11111111111111111111111111100000
11
1010101
11111111111111111111111110100000
1111
11111111111111111111111111010110
0
根据设备手册中的规范,它有1个起始位、8个数据位甚至奇偶校验和1个停止位。在数据字节(2-9)中,最大的数据位是6。总字节是15。解码就是这样,在某个时候,我得到了10作为停止位。另外,还有一些开始位,然后是空闲状态。
发布于 2015-04-27 22:50:14
你是怎么用arduino写天平的?这不是一个TTL系列,所以你需要一个转换器。
也许这篇文章会给你更多的信息,http://forum.allaboutcircuits.com/threads/rs232-with-arduino.108882/
https://stackoverflow.com/questions/29230597
复制相似问题