2.2、串口通信软件设计及调试
ST公司为用户应用程序开发提供了丰富的固件库,用户只需对底层微处理器的外设进行简单初始化配置即可使用[4]。初始化配置主要包括时钟、I/O端口、串口、中断等的配置。本系统采用USART复用I/O口PA9作为串口发送引脚,配置为推挽输出,速度为50MHz;USART复用I/O口PA10作为串口接收引脚,配置为浮空输入。串口工作方式和中断配置,波特率为115200Baud、8位数据位、无校验位、1位停止位。初始化串口程序如下:
voidUSARTInit(void)
{
GPIO_InitTypeDefGPIO_InitStructure;
USART_InitTypeDefUSART_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA,&GPIO_InitStructure);
USART_InitStructure.USART_BaudRate=115200;
USART_InitStructure.USART_WordLength=USART_WordLength_8b;
USART_InitStructure.USART_StopBits=USART_StopBits_1;
USART_InitStructure.USART_Parity=USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl=
USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode=USART_Mode_Tx|USART_Mode_Rx;
USART_Init(USART,&USART_InitStructure);
USART_Cmd(USART,ENABLE);
USART_ITConfig(USART,USART_IT_RXNE,ENABLE);
USART_ITConfig(USART,USART_IT_TXE,ENABLE);
}
KeilμVision4IDE选择仿真,进入调试模式后,打开串口1小窗口,运行程序,可以传输数据,仿真串口调试结果如图6所示。
图6 仿真串口调试结果
2.2.2、硬件平台目标调试
用J-Link仿真器将PC机与STM32电路板连接起来,将程序下载到STM32中,连接USB转串口线,用来实现STM32电路板与PC机的串口通信,通过串口调试小工具来显示实验效果,STM32电路板首先接收“STM32F103C8T6串口通信实验”的内容,然后经串口再发送到PC机上,即实现串口的发送和接收。硬件平台目标调试结果如图7所示。
图7 硬件平台目标调试结果
3、结束语
STM32系列处理器是新型的嵌入式微处理器,各方面的性能都优于51系列单片机,开发却与51系列单片机同样简便,应用越来越广泛。STM32微处理器有较高的处理速度,包含丰富的功能模块,系统无需外扩,简化了硬件设计难度,实现了STM32最小系统与MAX3232ESE构成的串口通信,保证了数据传输的稳定性和可靠性。
评论
查看更多