python3中利用serial模塊實現單片機與python上位機的通信(串口調試助手)

1.指標:

   python上位機向單片機發送字符,單片機如果收到的字符爲‘1’,則點亮燈1,如果收到的字符爲‘2’,則點亮燈2;單片機若接受到字符,讀取字符後,向python上位機發送字符(1->X,2->T),若python上位機接受到的字符爲‘1’,則print出OK,如果字符是‘0’則printNG

2.實際效果:提供一個簡易的ui讓用戶方便輸入實現

3.準備環境:

python3、serial模塊、easygui模塊、單片機stc89c52

4.如果沒有安裝serial、easygui模塊:

用管理員權限打開cmd 輸入
pip install serial
pip install easygui
安裝

5.正文:

import serial
import easygui

ser = serial.Serial()
ser.baudrate = 9600 #設置波特率(這裏使用的是stc89c52)
ser.port = 'COM3' #端口是COM3
print(ser)
ser.open()#打開串口
print(ser.is_open)#檢驗串口是否打開

while(1):
    Yes_or_No = easygui.buttonbox("是否良品?", choices = ['Yes','No','退出'])#提供簡易UI
    if Yes_or_No=='退出':break
    if Yes_or_No=='Yes':
        demo=b"2"#傳入2的ASCII碼 這裏用b+str強制轉換
    else:
        demo=b"1"#傳入1的ASCII碼 這裏用b+str強制轉換

    ser.write(demo)
    s = ser.read(1)
    print(s)


6.驗證結果:

彈出UI供用戶輸入


傳出後接收到單片機回傳的信息


按下yes:藍燈亮



按下No:紅燈亮

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章