串口发送和接收

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);

}

} )

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐