jetsonnano和stm32的串口通信

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
(此處爲廢話)最近一直在學python,還有吳老師的課程,一直都沒有弄,怕nano落灰,於是乎今天下午搞了一下與stm32串口通信,因爲博主還是對32比較熟悉,而且我覺得如果做一個東西的話(比如一個小車)還是用32控制比較方便,視覺處理交給nano(不管是cv也好或者神經網絡,肯定吊打32)。

正題來了,首先是nano,博主是用py寫的,
先在nano上查看啓用的串口 ls -l /dev/ttyTHS* 這樣的話正常應該會看到
在這裏插入圖片描述
然後我選擇THS1,對應nano上面的物理引腳8 10。引腳圖這裏就不放了,網上很多。
然後以下是博主自己的調試程序

import serial as ser
import struct,time
a ='z'
c=a.encode('utf-8')
b=678
se = ser.Serial('/dev/ttyTHS1',115200,timeout=0.5)
def recv(serial):
    while True:
        data=serial.read(64)
        if data=='':
            continue
        else:
            break
    return data
while True:
#    data=recv(se)
#    if data!='':
#        print(data)   這裏是調試的串口接收,接受函數看自己需要定,這裏只是方便博主調試
    se.write(str(b).encode('utf-8'))
    se.write(a.encode('utf-8'))
    time.sleep(1)
    

值得注意的是,如果想要發送字符串,也需要將字符串encode(‘utf-8’),如果是整形或者float可以像我上面那樣,先變成字符串然後再encode

接收端就是正常的u8類型的了~~可以看到上面我發的是678 然後在線調試看到的也是保存起來的678哦~如果想要處理成別的類型,對照一下ascii,應該是直接-48就行了。記錄完畢!
今天剛發現一個問題,如果串口打開失敗的話,用這個命令給權限sudo chmod 777 /dev/ttyTHS0

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