1. 程式人生 > >STM32使用HAL庫實現串口通訊——實戰操作

STM32使用HAL庫實現串口通訊——實戰操作

通訊 art logs 觀察 ges 返回 回調函數 輸出 接收

功能需求:

(1)對接收的字符串原樣返回(每10個字符一次)。

(2)發送一個字符串完成後改變LED的狀態。

1.創建工程

使用的是F407Discovery,4個LED對應PD12-PD14。

(1)使用外部高速時鐘

技術分享

(2)推挽輸出4個LED輸出端口

技術分享

(3)使用usart2

技術分享

(4)外部8M,使用HSE,頻率設置為最高(168MHz,這個可隨便)

技術分享

(5)如下,設置用中斷

技術分享

(6)設置使用中斷(在usart2中斷下邊的是外部中斷,我測試的時候用的可不用管)

技術分享

(7)點擊這個小齒輪生成工程

技術分享

2.程序設計

需求中需要接收到10個字符之後原樣返回,發送完成後還要改變LED狀態,所以要用中斷,發送接收都要。

(1)定義一個字符變量,兩個緩存數組(uint8_t其實就是unsigned char類型)

技術分享

(2)在while(1)之前先使能接收中斷並綁定接收緩存數組指定大小。在while(1)中:先發送一個字符,再發送字符數組中的字符,最後延時一下要不然一會發送的太快不利於觀察。

技術分享

(3)寫回調函數(兩個)

技術分享

(4)下載驗證即可

技術分享

STM32使用HAL庫實現串口通訊——實戰操作