/dev/ttyUSB1 からぶら下がっている Arduino があり、115kbaud で通信しています。以下のステートメントは、Pharo がハングする 'next' メソッド呼び出しまで正常に機能します。Arduino は '99' コマンドに応答して、1 文字の $1 をコンピューターに送り返します。ケーブルを引き抜くと、プログラムは続行され、s には本来あるべき文字 $1 が含まれますが、ケーブルを引き抜くまでは含まれません。したがって、'next' は 1 バイトを読み取っただけでは返されないというのが私の印象です (確かに、1 バイトを読み取った後に返されるべきだと言うものは何もありません)。Pharo でストリームから 1 バイトを読み取るにはどうすればよいですか? または、読み取り/書き込みバイトストリームを開くにはどうすればよいですか? これを行うと思われるソースクラスには何も見つかりませんでした。ストリームをASCII、バイナリ、テキストに設定しようとしましたが、動作は変わりません。
s := FileStream oldFileNamed: '/dev/ttyUSB1'.
s readWrite.
s nextPutAll: '99'. "'99' is successfully received by Arduino"
s next. "hangs here"
s close.
ご協力いただきありがとうございます。