work11
获得 62 次赞
帮助过74人
stm32为例,cubemx中打开串口设置中断,生成keil工程后,添加void HAL_UART_RxCpltCallback(UART_HandleTypeDef *UartHandle)此函数是接受回调函数,每接受一次(可是是任意长度)后需开启接受请求,代码如下timeout=0; while(HAL_UART_Receive_IT(&huart1 (uint8_t *)aRxBuffer 1) != HAL_OK)//一次处理完成之后,重新开启中断并设置RxXferCount为1 { timeout++; //超时处理 if(timeout>maxDelay) { status=0; break; } }以上是接受过程,发送一个函数就可以搞定HAL_UART_Transmit(&huart1list142); 。具体函数中的参数可以查看hal库。