国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

樹莓派與STM32之間串口通信

這篇具有很好參考價(jià)值的文章主要介紹了樹莓派與STM32之間串口通信。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、樹莓派串口通信模塊介紹

二、樹莓派藍(lán)牙、串口引腳映射對(duì)換步驟

1.啟動(dòng)串口

2. 禁用藍(lán)牙(硬件串口與mini串口映射對(duì)換)

3.驗(yàn)證是否交換成功

三、樹莓派安裝mini串口調(diào)試助手

四、樹莓派與電腦串口調(diào)試

五、樹莓派與STM32串口調(diào)試


一、樹莓派串口通信模塊介紹

樹莓派串口通信與藍(lán)牙模塊的基本介紹

樹莓派3/4B有兩個(gè)串口,分別為 “硬件串口”/dev/ttyAMA0 和“mini串口” /dev/ttyS0。

“硬件串口”有單獨(dú)的波特率時(shí)鐘源,性能高、可靠,“mini串口”性能低,功能也簡單,并且沒有波特率專用的時(shí)鐘源而是由CPU內(nèi)核時(shí)鐘提供,因此“mini串口”有個(gè)致命的弱點(diǎn)是:波特率受到內(nèi)核時(shí)鐘的影響,內(nèi)核若在智能調(diào)整功耗降低主頻時(shí),相應(yīng)的這個(gè)mini串口的波特率便受到牽連。

簡單概括來說:“硬件串口”是全功能的,而“mini串口則是閹割過的。

在實(shí)際項(xiàng)目中遇到的問題是,如果使用“mini串口”/dev/ttyS0,在通訊需要奇偶校驗(yàn)時(shí)會(huì)報(bào)錯(cuò)。所以項(xiàng)目中為了穩(wěn)定還是推薦使用“硬件串口” /dev/ttyAMA0 。

在樹莓派3/4B中,由于板載藍(lán)牙模塊,因此這個(gè)“硬件串口”被默認(rèn)分配給與藍(lán)牙模塊通信了,而把“mini串口”默認(rèn)分配給了排針引出的GPIO Tx Rx。在開啟串口通訊不做任何設(shè)置的時(shí)候,默認(rèn)的串口通訊使用的是“mini串口”。

因此,如果要在項(xiàng)目中使用,為了通訊穩(wěn)定,需要進(jìn)行“硬件串口”與“mini串口”默認(rèn)映射對(duì)換,把“硬件串口”/dev/ttyAMA0映射分配給GPIOTx Rx。

樹莓派如何與stm32通信,樹莓派,stm32,單片機(jī),嵌入式硬件,opencv,linux

二、樹莓派藍(lán)牙、串口引腳映射對(duì)換步驟

1.啟動(dòng)串口

首先打開此設(shè)置界面

樹莓派如何與stm32通信,樹莓派,stm32,單片機(jī),嵌入式硬件,opencv,linux

然后選擇此界面:

樹莓派如何與stm32通信,樹莓派,stm32,單片機(jī),嵌入式硬件,opencv,linux

此舉是將串口打開,點(diǎn)擊OK,再重啟樹莓派。

2. 禁用藍(lán)牙(硬件串口與mini串口映射對(duì)換)

映射對(duì)換的目的是將硬件串口作用在GPIO接口的Tx Rx上。我的項(xiàng)目上沒有用到藍(lán)牙通訊,所以禁用藍(lán)牙后也沒有再次開啟,也沒有測試再次開啟藍(lán)牙通訊是否正常,如果項(xiàng)目中有用到藍(lán)牙通訊,那么進(jìn)行這一步的時(shí)候要謹(jǐn)慎。

打開終端輸入:

ls /dev -al?

查看所有串口映射,下拉找到這一行,如下圖所示:

樹莓派如何與stm32通信,樹莓派,stm32,單片機(jī),嵌入式硬件,opencv,linux

此時(shí)我們可以發(fā)現(xiàn)我們的serial0,也就是主串口映射為ttyS0,也就是主串口指向的是mini串口,前文我們提到mini串口效率低不穩(wěn)定,所以這里我們需要將主串口指向硬件串口,也就是ttyAMA0

打開終端,輸入:

sudo nano /boot/config.txt

滾輪到末尾最下方,加入內(nèi)容:

dtoverlay=pi3-disable-bt

這樣,ttyAMA0 得以釋放,這時(shí)候樹莓派也自動(dòng)交換了ttyAMA0ttyS0,把serial0 分配給了 ttyAMA0 。

3.驗(yàn)證是否交換成功

打開終端,再次輸入:

ls /dev -al

就可以看到如下圖所示,這樣我們就配置成功了。

樹莓派如何與stm32通信,樹莓派,stm32,單片機(jī),嵌入式硬件,opencv,linux

三、樹莓派安裝mini串口調(diào)試助手

打開終端,輸入:

sudo apt-get install minicom?

等待安裝完成。

安裝完成之后,接下來就是使用串口助手。在終端輸入命令:

minicom -D /dev/ttyAMA0 -b 115200?

回車即可進(jìn)入。這里 -D /dev/ttyAMA0 就是指向我們打開的串口端口號(hào),和COM1這種是一樣的, -b 115200是配置波特率,這一項(xiàng)我們在minicom中輸入 Ctrl+A 在下方也是可以看到我們的波特率。

注意:這里我遇到了一個(gè)問題,就是提示打開 ttyAMA0 的時(shí)候沒有權(quán)限,如果你也遇見了沒有權(quán)限打開tty8的這種提示,打開終端輸入:

sudo chmod 777 /dev/ttyUSB0

這里的 ttyUSB0 對(duì)應(yīng)你提示沒有權(quán)限的串口,然后回車就OK解決了。

minicom打開之后如圖所示:

樹莓派如何與stm32通信,樹莓派,stm32,單片機(jī),嵌入式硬件,opencv,linux

我打開minicom串口助手的時(shí)候,會(huì)發(fā)現(xiàn)鍵盤失靈,就是在minicom下,鍵盤跟沒插似的。如果你沒有遇到這種情況,就可以跳過這一小節(jié)。那么具體解決辦法,參考這個(gè)博主的博文,里面有著詳細(xì)的操作步驟:

https://blog.csdn.net/weixin_41276153/article/details/128037288?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168207712316800186528500%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168207712316800186528500&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-128037288-null-null.142^v86^wechat,239^v2^insert_chatgpt&utm_term=%E6%A0%91%E8%8E%93%E6%B4%BE%E4%B8%8Estm32%E4%B8%B2%E5%8F%A3%E9%80%9A%E4%BF%A1&spm=1018.2226.3001.4187

好了,到這里所有配置已經(jīng)結(jié)束,接下來就可以驗(yàn)證了。

四、樹莓派與電腦串口調(diào)試

打開電腦上的串口調(diào)試助手,把樹莓派的minicom串口調(diào)試助手也打開。我用的是ttyAMA0,所以指令是:

minicom -D /dev/ttyAMA0 -b 115200

注意:電腦上的串口助手波特率等信息與樹莓派上的信息要對(duì)應(yīng)。

連線方式:

樹莓派上的RX引腳? ?連接? ?USB-TTL上的TX引腳,

樹莓派上的TX引腳? ?連接? ?USB-TTL上的RX引腳,

GND? ?與? ?GND相連。

USB-TTL插到電腦上之后就可以進(jìn)行樹莓派與電腦之間的串口調(diào)試了。

?串口調(diào)試助手網(wǎng)上隨便找一個(gè)就可以,這里給個(gè)鏈接:

鏈接:https://pan.baidu.com/s/17CVgDrNb6OM6yVvCB5A8HQ?pwd=1mge?
提取碼:1mge

五、樹莓派與STM32串口調(diào)試

連線方式:

樹莓派上的RX引腳? ?連接? ?STM32上的TX引腳,

樹莓派上的TX引腳? ?連接? ?STM32上的RX引腳,

GND??與??GND相連(這個(gè)GND最好接上,讓它們之間有一個(gè)統(tǒng)一的低電平,更容易接收到數(shù)據(jù))。

我們可以寫這么一個(gè)程序進(jìn)行測試:樹莓派發(fā)送“456”,STM32接收到之后發(fā)送“123”回來。

STM32端的程序就不掛了,網(wǎng)上有很多例程。把波特率、校驗(yàn)位、停止位等信息配置對(duì)了就可以。下面掛一下樹莓派的發(fā)送“456”的程序。

import serial

ser = serial.Serial("/dev/ttyAMA0", 9600, timeout=0.1)  # 生成串口

while True:

    ser.write(b'456') # 發(fā)送數(shù)據(jù)

效果如下圖:?

樹莓派如何與stm32通信,樹莓派,stm32,單片機(jī),嵌入式硬件,opencv,linux

最后再留幾個(gè)樹莓派接收數(shù)據(jù)的程序,這兩句要放在while循環(huán)里,以達(dá)到串口實(shí)時(shí)接收信息的目的。

ser.flushInput()  # 清空緩存

data = ser.read(1)  # 讀取一個(gè)字節(jié)的數(shù)據(jù)

當(dāng)然這只是舉一個(gè)簡單的例子,具體讀取多少字節(jié)數(shù)據(jù),或者其他更多設(shè)置,可以網(wǎng)上搜索一下進(jìn)行修改?。

注意事項(xiàng):

1.我做的這個(gè)項(xiàng)目中,結(jié)合到了串口通信與攝像頭的實(shí)時(shí)檢測,由于二者都是實(shí)時(shí)的,所以串口通信的讀取間隔不能影響到攝像頭視頻流的采集。

所以,對(duì)于下面這句初始化代碼中,timeout的取值十分重要。經(jīng)過嘗試,間隔為0.1s的時(shí)候,攝像頭讀取視頻流是不卡頓的,但是有時(shí)候串口會(huì)接收不到信息。所以,具體情況還是需要你自己去親自調(diào)試。

ser = serial.Serial("/dev/ttyAMA0", 9600, timeout=0.1)

2.另外就是我自己感覺,波特率為9600時(shí)的效果要比115200的效果好一點(diǎn)。?文章來源地址http://www.zghlxwxcb.cn/news/detail-561603.html

到了這里,關(guān)于樹莓派與STM32之間串口通信的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 關(guān)于openmv與stm32之間的串口通信實(shí)現(xiàn)

    關(guān)于openmv與stm32之間的串口通信實(shí)現(xiàn)

    已經(jīng)在研一度過快3個(gè)月了,研究生學(xué)習(xí)跟本科學(xué)習(xí)還是有很大區(qū)別的,要善于自己找資料善于自己總結(jié),因此我也決定從現(xiàn)在開始時(shí)不時(shí)的寫寫博客總結(jié)后面每段時(shí)間遇到的各種困難以及解決方法,為以后工作積累經(jīng)驗(yàn)也方便以后查閱。 這是我第一篇博客,之前都是在做關(guān)

    2024年02月14日
    瀏覽(19)
  • 【單片機(jī)】基于STM32的UART串口通信

    【單片機(jī)】基于STM32的UART串口通信

    簡單講解一下UART通信協(xié)議,以及UART能夠?qū)崿F(xiàn)的一些功能,還有有關(guān)使用STM32CubeMX來配置芯片的一些操作。實(shí)驗(yàn)內(nèi)容基于 正點(diǎn)原子精英板 開發(fā)板,單片機(jī)芯片為 STM32F103ZET6 。 在后面我會(huì)以我使用的STM32F429開發(fā)板來舉例講解(其他STM32系列芯片大多數(shù)都可以按照這些步驟來操作

    2024年01月17日
    瀏覽(96)
  • K210視覺循跡,STM32之間串口通信 #智能車

    K210視覺循跡,STM32之間串口通信 #智能車

    目錄 個(gè)人感慨與感悟 K210視覺循跡 本人是一名大二的二本學(xué)生,本篇文章記錄一下我這一年多的學(xué)習(xí)歷程(主要還是針對(duì)標(biāo)題的內(nèi) 容)。 下面是我的一些經(jīng)歷和感悟,不感興趣的可以直接跳過 -—————————— ? ? ? ?高考完之后,在我收到錄取通知書之后,父母讓

    2024年01月19日
    瀏覽(38)
  • 通過Linux串口實(shí)現(xiàn)樹莓派與電腦通信

    通過Linux串口實(shí)現(xiàn)樹莓派與電腦通信

    目錄 一? 串口說明 二? USB—TTL模塊 ● usb-ttl模塊接口? 三? 串口通信常用的API 四? 修改串口的配置文件? 五? 串口通信代碼驗(yàn)證 ● 發(fā)送一個(gè)字符/字符串到串口 ● 樹莓讀取串口數(shù)據(jù)(字符) ● 代碼拓展(雙方) 我在基于全志H6實(shí)現(xiàn)Linux串口通信這篇文章中也有詳解介紹:

    2024年02月08日
    瀏覽(19)
  • STM32G0+EMW3080+阿里云實(shí)現(xiàn)單片機(jī)WiFi智能聯(lián)網(wǎng)功能(一)EMW3080實(shí)現(xiàn)和PC之間的串口通訊

    STM32G0+EMW3080+阿里云實(shí)現(xiàn)單片機(jī)WiFi智能聯(lián)網(wǎng)功能(一)EMW3080實(shí)現(xiàn)和PC之間的串口通訊

    項(xiàng)目描述:該系列記錄了STM32G0+EMW3080實(shí)現(xiàn)單片機(jī)智能聯(lián)網(wǎng)功能項(xiàng)目的從零開始一步步的實(shí)現(xiàn)過程; 硬件環(huán)境:單片機(jī)為STM32G030C8T6;物聯(lián)網(wǎng)模塊為EMW3080V2-P;網(wǎng)聯(lián)網(wǎng)模塊的開發(fā)板為MXKit開發(fā)套件,具體型號(hào)為XCHIP MXKit-Base V2.2; 軟件環(huán)境:STM32需要的軟件有STM32CubeMX和STM32CubeIDE;

    2024年02月10日
    瀏覽(57)
  • STM32—串口通信

    STM32—串口通信

    目錄 通信基礎(chǔ)知識(shí) 通信的本質(zhì) 時(shí)鐘信號(hào)劃分 同步通信 異步通信 通信方式劃分 串行通信 串行通信 串行傳輸 優(yōu)點(diǎn) 缺點(diǎn) ?并行通信 并行通信 并行傳輸 優(yōu)點(diǎn) 缺點(diǎn) ?通信方向劃分 單工 半雙工 全雙工 ?總線協(xié)議(電氣協(xié)議) USART ?串口通信協(xié)議 ?數(shù)據(jù)幀格式 USART功能框圖 ?流

    2024年02月04日
    瀏覽(46)
  • 【STM32串口通信】

    【STM32串口通信】

    每天更新STM32學(xué)習(xí)筆記 串口通信的數(shù)據(jù)按 位 順序傳輸,其數(shù)據(jù)包由發(fā)送設(shè)備通過自身的 TXD 接口傳輸?shù)浇邮赵O(shè)備的 RXD 接口,故串口通信至少需要兩根線(GND和一根信號(hào)線)來實(shí)現(xiàn)單工通信。若要實(shí)現(xiàn)全雙工通信,則要三根線(GND和兩根信號(hào)線)。 串口通信的數(shù)據(jù)包由起始位、數(shù)

    2024年02月04日
    瀏覽(18)
  • 多串口通信(stm32)

    多串口通信(stm32)

    在做項(xiàng)目的過程中我們會(huì)同時(shí)使用多個(gè)串口,如:Esp8266wifl模塊,HC-05藍(lán)牙模塊,還有串口下載,這些都需要多個(gè)串口通信。 串口作為 MCU 的重要外部接口,同時(shí)也是軟件開發(fā)重要的調(diào)試手段,其重要性不言而喻。 現(xiàn)在基本上所有的 MCU 都會(huì)帶有串口, STM32 自然也不例外。

    2024年04月29日
    瀏覽(16)
  • STM32簡單串口通信

    STM32簡單串口通信

    題目要求: 一. 了解串口協(xié)議和RS-232標(biāo)準(zhǔn),以及RS232電平與TTL電平的區(qū)別;了解\\\"USB/TTL轉(zhuǎn)232\\\"模塊(以CH340芯片模塊為例)的工作原理。 二. 安裝 stm32CubeMX,配合Keil,使用HAL庫(或標(biāo)準(zhǔn)庫)方式,設(shè)置USART1 波特率為115200,1位停止位,無校驗(yàn)位,完成下列任務(wù): 1)STM32系統(tǒng)給上

    2024年01月18日
    瀏覽(16)
  • STM32 學(xué)習(xí)————串口通信

    STM32 學(xué)習(xí)————串口通信

    眾所周知,串口通信是MCU最基本的通信方式,對(duì)于STM32來說也是如此。本文重點(diǎn)講述STM32單片機(jī)的串口通信,主要包括的內(nèi)容是:通信基礎(chǔ)知識(shí)、串口通信原理、USART有關(guān)寄存器和自定義編寫串口通信函數(shù)。 通信目的:的將一個(gè)設(shè)備數(shù)據(jù)傳送到另一個(gè)設(shè)備,擴(kuò)展硬件系統(tǒng)。 通

    2024年02月01日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包