stm32nucleo 串列埠除錯小結

2021-06-27 12:36:58 字數 670 閱讀 8275

之前曾經玩過stm32f205,也除錯過串列埠及i2c驅動,現在則是要在stm32f402re上除錯串列埠及spi驅動。由於我是軟體出身,現在慢慢轉向電子工程師,要跟硬體打交道,看硬體原理圖,測量電壓,抓spi波形,最基本就是要把不同的硬體連線起來。箇中滋味真的很的頗難受,備受煎熬!雖然我搞軟體十幾年了,隔行如隔山,去碰硬體了,真的頭大了!

將stm32nuleo上的串列埠pin連線至乙個具有串列埠引腳的開發板上對應的pin

rx------rx,tx------tx,gnd------gnd。這是我的接法,可同時卻說,tx接rx,rx接tx,交叉接,這下可害苦我了!我看了n多例程,使用邏輯分析工具抓串列埠波形,串列埠就是不同!讓同事幫我仔細檢查硬體連線,他也覺得沒有什麼問題,不應該串列埠不同。於是尋求外部資源,卻得告知我,串列埠一般只要硬體連線對了,引數設定無誤,就會工作。

已經除錯了2-3天,我單步跟蹤程序式,發現程式根本就沒有往串列埠寫資料!於是死馬當活馬醫,把串列埠連線恢復成我的那種接法,即不交叉接,串列埠資料就顯示出來了!那個高興呀!

不過,有個問題卻沒有搞明白,串列埠啥時候該交叉接,啥時候又該正常接呢?!

這個程式除錯真是累!差點把我累垮了!沒有硬體知識,做相關的東西真是吃力!建議老闆讓我去參加st組織的培訓,他說找不到資源,我無語了!

我真的無語了!我擅長的是linux以及協議棧,現在要去碰硬體,又不肯培訓我!我真的快崩潰了....

STM32串列埠除錯

改為串列埠中斷接收方式,發現也只能進入一次接收中斷函式,把開啟中斷函式放入接收中斷函式內,可以連續進入接收中斷函式了,但是資料丟失的問題仍然存在,又經過一番除錯發現將處理資料函式從接收中斷函式中取出,問題就解決了。然而採用串列埠dma方式時,將處理函式從中斷函式中取出,讀取的資料還是錯誤的。唉,現在...

STM32之串列埠

名稱 stm32之串列埠 說明 對於stm32的串列埠通訊來說,從外部看,和c51差不多。從內部看,啊。我還不了解。從使用上說,也是需要先配置usart,然後通過終端或者輪詢的方式接受或者輸出資料。由於有了韌體庫函式的幫助,stm32的串列埠配置起來比c51還要方便不少。本實驗完成的是輸入輸出重定向...

STM32 的串列埠

一 串列埠使用 原則 盡量中斷中不要有延時 比如自定義delay 和自定義printf串列埠列印,明顯找事啊這麼慢能不發生溢位error嘛 接收和傳送盡量分開處理 1.串列埠傳送資料丟失 1 通常是因為傳送之前未檢測tc狀態位之前是否處於傳送完成標誌導致,關於stm32之 的測試程式來講會導致第乙個...