質問編集履歴
1
プログラムコードを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -55,4 +55,40 @@
|
|
55
55
|
|
56
56
|
if __name__ == '__main__':
|
57
57
|
main()
|
58
|
+
```
|
59
|
+
|
60
|
+
##シリアル通信確認プログラム
|
61
|
+
```python
|
62
|
+
import serial
|
63
|
+
import time
|
64
|
+
import threading
|
65
|
+
import Queue
|
66
|
+
|
67
|
+
class SerCom:
|
68
|
+
def __init__(self, tty, baud='9600'):
|
69
|
+
self.ser = serial.Serial(tty, baud, timeout=0.1)
|
70
|
+
self.queue = Queue.Queue()
|
71
|
+
|
72
|
+
self.event = threading.Event()
|
73
|
+
self.thread_r = threading.Thread(target=self.recv_)
|
74
|
+
self.thread_r.start()
|
75
|
+
|
76
|
+
def recv_(self):
|
77
|
+
while not self.event.is_set():
|
78
|
+
line = self.ser.readline()
|
79
|
+
if len(line) > 0:
|
80
|
+
print(line)
|
81
|
+
self.queue.put(line)
|
82
|
+
|
83
|
+
def send(self, data):
|
84
|
+
self.ser.write(data)
|
85
|
+
|
86
|
+
def stop(self):
|
87
|
+
self.event.set()
|
88
|
+
self.thread_r.join()
|
89
|
+
|
90
|
+
ser = SerCom('/dev/ttyS0', '9600')
|
91
|
+
#ser.send('test')
|
92
|
+
time.sleep(2)
|
93
|
+
ser.stop()
|
58
94
|
```
|