私の問題:
以下のコードは、1 つの問題を除いて、私のアプリケーションのすべての目標を達成します。私の tkinter スピンボックスは、ボーレートを設定し、正しく機能します (私は思います)。pyserial ボー レート ターゲット変数を入力しますが、スピンボックスで指定したボー レートに関係なく、9600 で arduino から受信したシリアル通信は引き続き受信され、正常に表示されます。(BAUD を異なるレートに設定すると失敗しませんか?)
リクエストに応じてコードを切り詰めました。以下は UI のないコードで、受信したシリアル データを端末に出力するだけです。ボーレートを何に設定しても、問題なく動作し続けます。しかし、シリアルデータを送信するarduinoは間違いなく9600で送信しています.
#!/usr/bin/env python
#Import Libraries--------------------------
import serial
import Tkinter as tk
from time import sleep
import threading
import sys
import glob
import smtplib
import csv
import tkMessageBox
import datetime
#Setup--------------------------
data = True #I'm not sure what this is for
#Thread--------------------------
class SensorThread(threading.Thread):
def run(self):
try:
i = 0
while True:
ser = serial.Serial('/dev/ttyACM0', 90000)
happenen = ser.readline()
print(happenen)
i += 1
sleep(1)
except KeyboardInterrupt:
exit()
#------------------------------------------------------------------
if __name__ == "__main__":
SensorThread().start()
#------------------------------------------------------------------