STM32串口串口USART2程序程序
对控制LED指示灯的IO口进行了初始化,将端口配置为推挽上拉输出,口线速度为50Mhz。PA2,PA2端口复用
为串口2的TX,RX。在配置某个口线时,首先应对它所在的端口的时钟进行使能。否则无法配置成功,由于用
到了端口B, 因此要对这个端口的时钟。进行使能,同时由于用到复用IO口功能用于配置串口。因此还要使能
AFIO(复用功能IO)时钟。
原理图:
程序分析:
int main(void)
{
uint8_t a=0;
/* System Clocks Configuration */
RCC_Configuration();//系统时钟设置
/*嵌套向量中断控制器
说明了USARTx抢占优先级级别0(最多1位) ,和子优先级级别0(最多7位) */
NVIC_Configuration();//中断源配置
/*对控制LED指示灯的IO口进行了初始化,将端口配置为推挽上拉输出,口线速度为50Mhz。PA2,PA2端口复用为串口2的
TX,RX。
在配置某个口线时,首先应对它所在的端口的时钟进行使能。否则无法配置成功,由于用到了端口B, 因此要对这个端口的时
钟
进行使能,同时由于用到复用IO口功能用于配置串口。因此还要使能AFIO(复用功能IO)时钟。*/
GPIO_Configuration();//端口初始化
USART_Config(USART2);//串口1初始化
USART_OUT(USART2,"****(C) COPYRIGHT 2013 奋斗嵌入式开发工作室 *******"); //向串口1发送开机字符。
USART_OUT(USART2,"* *");
USART_OUT(USART2,"* 奋斗版STM32开发板 USART2 实验 *");
USART_OUT(USART2,"* *");
USART_OUT(USART2,"* 以HEX模式输入一串数据,以16进制0d 0a作为结束 *");
USART_OUT(USART2,"* *");
USART_OUT(USART2,"* 奋斗STM32论坛:www.ourstm.net *");
USART_OUT(USART2,"* *");
USART_OUT(USART2,"***************************************************");
USART_OUT(USART2,"");