前段時間用到openmv用到了串列埠通訊,與pc通訊還好,微控制器之間通訊就有小問題了,這幾天有時間總結一下,做個筆記。
以下有三個要點:
1、波特率不要太小,預設的9600就別用了(個別機型也可能適用),建議115200。
2、openmv串列埠通訊必須以位元組為單位傳送資料,否則微控制器連串口接收中斷都進不了(串列埠助手例外)。可採用以下函式:
data=
bytearray([
0x30])
#ascill碼0x30對應字元0
uart.write(data)
3、微控制器進入串列埠接收中斷處理資料,資料大多以回車換行為結束符(0x0d,0x0a),所以最後別忘了鏈結束符一塊發過去,順序別顛倒,多資料連續傳送時可以考慮採用恰當的幀格式保證資料的準確性。
data=
bytearray([
0x30,0x0d
,0x0a])
uart.write(data)
微控制器串列埠通訊
微控制器串列埠通訊 通常的usb序列通訊方式為全雙工,即兩條資料線 rxd和txd,一條用於傳送資料,一條用於接收資料。在序列通訊前,需要對序列通訊進行配置。對於微控制器 ri為接受中斷標誌位,未通訊時ri 0 當電腦傳送第乙個位元組幀a0到微控制器時,sbuf a0,中斷標誌位ri 1,微控制器呼...
微控制器串列埠通訊
1 需求 實現電腦端控制微控制器開啟燈光風扇,顯示微控制器傳遞過來的資料 如溫度 濕度等 2 工具 平台軟體 驅動人生 vs2012 keil4 3 下面就開始吧 4 檢視我們當前的通訊埠號 如圖 然後確定我們微控制器的晶振,我是用的是11.0592m的 即9600 差不多我們就可以開始我們的開發了...
微控制器串列埠通訊
1 每隔1秒鐘,a向b通過串列埠傳送乙個位元組c num 該位元組按照0x00 0x09迴圈,例如某一時刻傳送c num 0x 3 2 b接收到資料後,做9 c num的計算,並將計算結果通過串列埠傳送給a微控制器。例如b接收到0x03,則b要通過串列埠返回0x09 0x03 0x06給微控制器a ...