0

私の問題:

以下のコードは、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()
#------------------------------------------------------------------        
4

0 に答える 0