簡體   English   中英

與微控制器的Pyserial和UART通信

[英]Pyserial and UART Communication with microcontroller

我有一個Arduino UNO,並且正在與PC和UNO進行串行通信。 我正在使用pyserial與UNO通信,並且我僅收到發送到微控制器的字符串的第一個字符。 以下是串行通信的腳本:

import serial
import time
port = "\\.\COM4"
baudrate = 19200
parity=serial.PARITY_NONE
no=serial.EIGHTBITS
stopbits= serial.STOPBITS_ONE

ser=serial.Serial()
ser.port=port
ser.baudrate=baudrate
ser.timeout=1
ser.parity=parity
ser.bytesize=no
ser.stopbits=stopbits
ser.open()
time.sleep(1)
time.sleep(1)
ser.setDTR(level=0)
time.sleep(1)
ser.write("Hello World");
bytes=ser.read()
print bytes,
ser.close()

我已經將微控制器設置為回顯已發送給它的任何內容,並且我的程序退出而不打印字符串“ Hello World”。 但是,它會打印第一個字符“ H”。 我的腳本有問題嗎? 我使用Arduino串行監視器檢查了我的微控制器代碼,當我通過監視器發送數據時,它回顯了輸出。 此代碼有什么問題? 為什么我的代碼不打印整個字符串,而是僅打印我傳遞給ser.write()方法的字符串的第一個字母? 提前感謝您的回復!

ser.read()讀取整數字節作為參數,因此要讀取“ Hello World”之類的內容,您需要將命令修改為ser.read(15)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM