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構成的串口通信,保證了數據傳輸的穩定性和可靠性。
電子發燒友App









評論