作者:羊村長QQ:707703387
硬件平臺:STM32F4-DISCORVERY
軟件平臺:KEIL MDK5.10
由于USART1的引腳被占用,但是可以使用remap重定向,本例中直接使用了USART2,printf,scanf函數也可以用串口[size=+0]接收來實現。
STM32F407xx內嵌四個通用同步/異步接收器(USART1,USART2,USART3 和USART6)和兩個通用異步收發器(UART4和UART5)。這6個接口提供異步通信的IrDASIR ENDEC支持,多機通信模式,單線半雙工通信模式LIN主/從功能。 USART1和USART6接口能夠速度高達10.5 Mbit / s的通信其他可用的接口通信高達5.25bit/s。
USART1,USART2,USART3和USART6還提供硬件管理的CTS,RTS信號,智能卡的模式(ISO7816兼容)和類似的SPI通信能力,所有接口都可以通過DMA控制器。
STM32F4-Discovery板子只需要一根USB電纜,就可以開始STM32F4的軟件開發與驗證,非常便利。而STM32F4的SysTick,PendSV和SVC,雙堆棧更是非常便于使用RTOS,FreeRTOS就是其中的一個典型的應用,對于日益復雜的嵌入式系統開發與維護非常有利。在FreeRTOS開發過程中,利用其高速串口輸出系統調試信息也很常見,一般的做法是將C語言系統的printf()函數重定向到串口上,在ST廠家的函數庫舉例中有專門的一個目錄。這里要列出的3點項目設置是在實現過程中需要注意的:
1. HSE_VALUE 這個值的定義在stm32f4xx.h中,默認是25MHz,要根據板子用的外部晶振速率進行調整,STM32F4-Discovery用的就是8MHz.
2. EWARM項目務必要選擇使用Full Library 這個選擇在"General Options" -> "Library Configuration"中。
3. STM32F4-Discovery使用ST-Link調試接口!創建新項目時,注意2點即可:
4.關于燒錄: 1)ST-Link的接口選項只能是SWD 2)在"Debugger"->"Download"中必須打開"Use flash loader(s)"
實驗結果:

|