我有一个挂在 /dev/ttyUSB1 上的 Arduino,以 115kbaud 通信。下面的语句在 Pharo 挂起的“下一个”方法调用之前都可以正常工作。Arduino 通过将单个字符 $1 发送回计算机来响应“99”命令。如果我拔出电缆,程序将继续,并且 s 包含字符 $1 就像它应该的那样,但直到我拔出电缆。所以我的印象是'next'在读取一个字节后不会返回(好吧,当然,没有什么说它应该在读取一个字节后返回)。如何从 Pharo 中的流中读取单个字节?或者如何打开读/写字节流?我在源类中没有发现任何似乎这样做的东西。我尝试将流设置为 ascii、二进制、文本,但它不会改变行为。
s := FileStream oldFileNamed: '/dev/ttyUSB1'.
s readWrite.
s nextPutAll: '99'. "'99' is successfully received by Arduino"
s next. "hangs here"
s close.
谢谢你的帮助。