如何编写然后只读取串行/ dev / ttyACM0中的一行

时间:2015-05-15 16:32:15

标签: linux bash serial-port arduino cat

我正在尝试通过串口写入我的arduino:

#!/bin/bash
exec 3<> /dev/ttyACM0 
echo "v" >&3
cat <&3  
exec 3>&-

根据它收到的字母,它应该从其中一个传感器返回值。为简单起见,我将其替换为millis()。

void loop() {
  if (Serial.available() > 0) {
    incomingByte = Serial.read();
    if (incomingByte == 118){
      Serial.println(millis());
      Serial.end();
    }
  }
}

我遇到的问题是,当我执行该bash脚本时,它永远不会返回promt,“cat”命令会一直等待更多。

我尝试过SerialWrite(0)和Serial.write(4)(而不是Serial.end())应该是EOF字符,但它仍然不会返回promt。

我也试过了     猫&lt;&amp; 3 |头-n 1

但是,猫永远不会回来。

有什么想法吗?

(我在mr3020上做了所有这些,没有额外空间的pendrive,所以python是不可能的)

0 个答案:

没有答案