功能需求:
(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)下載驗證即可