我试图通过RS232从称重秤 KERN ew220-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);
}
}
}
结果如下所示,然后是1秒。
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 作为停止位。此外,还有一些起始位,然后再次出现空闲状态。
答案 0 :(得分:-1)
你是如何用arduino写出音阶的?它不是TTL系列,所以你需要一个转换器。
这篇文章可能会为您提供更多信息http://forum.allaboutcircuits.com/threads/rs232-with-arduino.108882/