我的问题:
下面的代码实现了我的应用程序的所有目标,除了一个问题:我的tkinter spinbox正确设置波特率和功能(我认为)。它填充了pyserial波特率目标变量,但无论我在spinbox中指定了什么波特率,我从我的arduino 9600收到的串行通信继续被接收并显示正常。 (如果我将宝贝设置为不同的速度,我不应该失败吗?)
我已根据要求减少了代码。下面是没有任何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()
#------------------------------------------------------------------