電子工作、プログラミング、その他の試行錯誤の記録です。 ArduinoとPythonが多め。
GPSのNMEAを読み出すとき、文章が長かったりタイミングが悪いと、途中で途切れてしまうことがある。
以下のようにany()を使うと解決する。
■BEFORE
msg = uart.read()
■AFTER
msg = "" while uart.any(): msg = msg + str(uart.read())[2:-1]
スライサーで2文字目以降を取ることで、バイト列を文字列に変換したときの先頭の「'b」をスキップしている。-2にして文末もスキップすべき?
0 件のコメント:
コメントを投稿