動作確認
受信側: RaspberryPi2 + raspbian
送信側: Windows8.1 + TeraTerm
USBシリアルケーブル VE488 x 2本
クロス用治具 (TX-RX)
RPi2側では以下のpythonスクリプトを実行。
151108b.py
import serial
import time
def main():
print "Hello"
con1=serial.Serial('/dev/ttyUSB1', 9600, timeout=10)
str1=con1.readline()
print "rcvd=", str1
if __name__ == '__main__':
以下を実行。
Windows8.1のTeraTerm側で"kkkkkkk"を送信するのだが、RPi2側は何故か10秒の受信タイムアウトが起きてからprintを実行する。
pi@raspberrypi ~/lineMonitor $ python -u 151108b.py
Hello
rcvd= kkkkkkkk
<CR><LF>
がきちんと受信できてないのだろうか?
要調査。
解決
TeraTerm側の設定の問題だった。送信設定がCR
になっていて、LF
を受信待ちのRPiが受信タイムアウトになっていた。
TeraTermの設定を以下のようにする。
- [設定]-[端末]を選択
- 改行コード枠にある「送信(M)」を
CR
からCR+LF
に変更する
これで受信タイムアウトがなくなった。