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

|