回答編集履歴

3

誤字修正

2021/04/28 10:40

投稿

teamikl
teamikl

スコア8664

test CHANGED
@@ -18,9 +18,9 @@
18
18
 
19
19
  **GUI のイベントループ内で実行する場合**は、 read(in_waiting) でも、
20
20
 
21
- blacking mode である以上、GUIが止まる可能性が残っているので、
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

ドキュメントのサンプルコードのリンクを追加

2021/04/28 10:39

投稿

teamikl
teamikl

スコア8664

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

語句の修正

2021/04/28 10:38

投稿

teamikl
teamikl

スコア8664

test CHANGED
@@ -52,6 +52,6 @@
52
52
 
53
53
  非同期 I/O のイベントループもGUIのイベントループと一緒に動かさないといけないので、
54
54
 
55
- 結局はスレッドを導入することになります。
55
+ 結局はスレッドを導入することになります。
56
56
 
57
- (スレッドなしでも可能ですが、tkinter + asyncio の事例が少ない為)
57
+ (同一スレッドでも可能ですが、tkinter + asyncio の事例が少ない為)