STM32除錯筆記之USART 波特率

2021-07-09 06:01:22 字數 437 閱讀 1326

設計了乙個串列埠通訊電路:cpu 接 光電隔離ic 再接max3232;除錯時發現串列埠助手裡一直是亂碼,而且示波器測得的波形也老是抓不到波形(不怪示波器,怪我水平太低了。。。);浪費了乙個晚上時間,後來請同事幫忙,他幫我開啟了串列埠助手中的「hex顯示」(新技能get),這樣就能看串列埠發出來的實際二進位制資料是什麼了;這個時候他一看資料結果,和我實際傳送的明顯不一樣,一下就懷疑到了波特率的問題;波特率改小之後,問題完美解決。

網上關於位元率和波特率的描述如下: 位元率=波特率x單個調製狀態對應的二進位制位數;即,兩相調製(單個調製狀態對應1個二進位制位)的位元率等於波特率;四相調製(單個調製狀態對應2個二進位制位)的位元率為波特率的兩倍;八相調製(單個調製狀態對應3個二進位制位)的位元率為波特率的三倍;依次類推。

通過調整波特率實際測試輸出的波形,發現隨著波特率公升高波形的上公升 下降沿明顯變得不再陡峭;歸根結底是由於硬體電路的電容效應。

STM32 USART除錯筆記

硬體環境 stm32f103 ide mdk 韌體庫 3.5 實現功能 串列埠接收一串字串放入定義的緩衝區。當空閒終端發生時,去除字串中的關鍵字。前期遇到問題 1.接收到的資料再rxne中斷中,逐個訪問陣列中。再次訪問陣列時。陣列中的資料不見了,並且rev num與實際傳送到的字串個數並不符合。需要...

STM32學習筆記 USART

參考 include stm32f10x.h 配置nvic void nvic config void 配置串列埠,因為串列埠與gpio復用,所以也要配置gpio void usart config void 傳送乙個byte void usart sendbyte usart typedef us...

stm32重啟除錯筆記

本文章主要解決在使用stm32 ucos進行嵌入式軟體開發中遇到的系統重啟現象查詢與解決。系統重啟又多種可能 1 看門狗中斷 2 記憶體洩漏 3 軟體重啟。首先看一下stm32的手冊關於系統重啟的狀態暫存器,其中詳細的記錄了幾個系統重啟的原因 低功耗復位標誌 視窗看門狗復位標誌 a 通過debug檢...