通过RS232与Arduino接口扩展

时间:2015-03-24 10:48:41

标签: serial-port arduino-uno

我试图通过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 作为停止位。此外,还有一些起始位,然后再次出现空闲状态。

1 个答案:

答案 0 :(得分:-1)

你是如何用arduino写出音阶的?它不是TTL系列,所以你需要一个转换器。

这篇文章可能会为您提供更多信息http://forum.allaboutcircuits.com/threads/rs232-with-arduino.108882/