蓝桥杯嵌入式——串口发送和接收
串口发送和接收
1.在cube中打开串口USART1,然后配置Mode为异步通信(Asynchronous),配置波特率,配置GPIO(将对应引脚(PA9、PA10)设置为USART1_TX或USART1_RX),使能中断
串口发送
1.设数组存储传输内容( char text_uart[20] )
2.将内容存储到数组中( sprintf(text_uart,“内容\r\n”) )
3.调用串口函数传输数据开始通信
( HAL_UART_Transmit(&huart1,(uint8_t*)text_uart,sizeof(text_uart),50) )
4.通信需要时间等待发送完全( HAL_Delay(1000) )
串口接收(中断)
1.在main函数中,先使能中断( HAL_UART_Receive_IT(&huart1,&rec_data,1) )
2.设接收内容的变量并且在h文件中设该变量为全局变量( uint8_t rec_data ; extern uint8_t rec_data )
2.找到中断回调函数,设置介绍中断函数
( void HAL_UART_RxCpltCallback( UART_HandleTypeDef *huart ){
if(huart->Instance=USART1){
......
}
} )
3.调用接收中断函数接收数据( HAL_UART_Recieve_IT(huart,&rec_data,1) )
串口发送和接收
( void HAL_UART_RxCpltCallback( UART_HandleTypeDef *huart ){
if(huart->Instance=USART1){
HAL_UART_Transmit(huart,&rec_data,1,50);
HAL_UART_Receive_IT(huaurt,&rec_data,1);
}
} )

更多推荐
所有评论(0)