发送部分:分为阻塞式和非阻塞式。
阻塞式:HAL_UART_Transmit(&huart1,str2,sizeof(str2),0xff)。发送串口、要发送的变量、长度、发送时间。
非阻塞式:HAL_UART_Receive_IT(&huart1,&str4,1)。接收串口,存储数据的地址、接收长度
可在接收中断函数里写中断内容
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
为了能够一直接收,要加上HAL_UART_Receive_IT(&huart1,&str4,1)
}
当使用多个串口时,要在回调函数里判断串口
if(huart->Instance==USART1)
在开头引入stdio.h
在后面写入
int fputc(int ch, FILE *f){ uint8_t temp[1] = {ch};
HAL_UART_Transmit(&huart1, temp, 1, 2);//huart1需要根据你的配置修改
return ch; }
然后可使用printf函数直接输出数值