回答編集履歴
3
誤字修正
test
CHANGED
@@ -18,9 +18,9 @@
|
|
18
18
|
|
19
19
|
**GUI のイベントループ内で実行する場合**は、 read(in_waiting) でも、
|
20
20
|
|
21
|
-
bl
|
21
|
+
blocking mode である以上、GUIが止まる可能性が残っているので、
|
22
22
|
|
23
|
-
timeout, write_timeoutを設定し、non-blocking mode
|
23
|
+
timeout, write_timeoutを設定し、non-blocking mode にする必要があります。
|
24
24
|
|
25
25
|
稀なケースですが、read(),write()が完了しない**障害時にGUI全体がフリーズしてしまいます**
|
26
26
|
|
2
ドキュメントのサンプルコードのリンクを追加
test
CHANGED
@@ -38,6 +38,14 @@
|
|
38
38
|
|
39
39
|
|
40
40
|
|
41
|
+
- [serial.threaded.LineReader example](https://pythonhosted.org/pyserial/pyserial_api.html#module-serial.threaded)
|
42
|
+
|
43
|
+
改行コードを受信すると、それ迄の入力を引数にして handle_line() が呼び出される。
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
----
|
48
|
+
|
41
49
|
asyncio を使う場合、非同期シリアル通信のライブラリは複数あるようですが、
|
42
50
|
|
43
51
|
行単位の読み出し処理には asyncio.StreamReader を併用すると、
|
1
語句の修正
test
CHANGED
@@ -52,6 +52,6 @@
|
|
52
52
|
|
53
53
|
非同期 I/O のイベントループもGUIのイベントループと一緒に動かさないといけないので、
|
54
54
|
|
55
|
-
結局はスレッドを導入することになります。
|
55
|
+
結局は別スレッドを導入することになります。
|
56
56
|
|
57
|
-
(スレッド
|
57
|
+
(同一スレッド内でも可能ですが、tkinter + asyncio の事例が少ない為)
|