STM32 USART除錯筆記

2022-09-09 03:57:09 字數 891 閱讀 2338

硬體環境:stm32f103

ide:mdk

韌體庫:3.5

實現功能:串列埠接收一串字串放入定義的緩衝區。當空閒終端發生時,去除字串中的關鍵字。

前期遇到問題:

1.接收到的資料再rxne中斷中,逐個訪問陣列中。再次訪問陣列時。陣列中的資料不見了,並且rev_num與實際傳送到的字串個數並不符合。需要連續傳送多次,才能正確接收。之後buf內的資料又被清除。(沒有在其他程式中處理這個陣列)

**如下:

char rev[250]=;//資料快取區

快速點選傳送之後:就正常了,之後還是不正常

除錯了一上午,最後發現出現這種情況的竟然是我非常寄希望的空閒中斷造成的。去掉了之後算是正常時。直接擷取伺服器返回給微控制器的資料。還可以。

總結:當傳輸大量資料時,串列埠中斷裡最好只做資料接收,避免資料處理。能用dma就用dma。

STM32 USART通訊 筆記

新增usart通訊不良的因素 2020 5 12 stm32f1xx晶元參考手冊 stm32 reference manual rm0008 usart universal synchronous asynchronous receiver transmitter 它名為通用非同步 同步收發器 它是...

STM32USART串列埠通訊

問題描述 利用usart串列埠程式,實現pc與stm32通訊,計算機傳送資料,stm32接受後,再傳送給pc端 1.gpio埠配置 根據手冊 pa.9為tx 傳送 pa.10為rx 接受 因此 pa.9為復用推挽輸出,pa.10為浮空輸入,一行 搞定 void gpio config 2.配置usa...

stm32 USART 串列埠通訊

簡單區分同步和非同步就是看通訊時需不需要對外提供時鐘輸出 usart 有專門控制傳送的傳送器 控制接收的接收器,還有喚醒單元 中斷控制等等。使用 usart 之前需要向 usart cr1 暫存器的 ue 位置 1 使能 usart,ue 位用來開啟供給給串列埠的時鐘。傳送或者接收資料字長可選 8 ...