小学生
最后登录1970-1-1
在线时间 小时
注册时间2025-11-5
|
串口接收为什么接收几次后就无法进入中断
int main(void)
{
while (1)
{
if(flag != 0){
printf("%s\r",RX_buff); //串口打印接收到的数据
flag = 0; //清空标志位
} } void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart,uint16_t Size){
if(huart == &huart1) //判断是否是串口一的中断
{
HAL_UART_DMAStop(huart); //暂停DMA接收
__HAL_UNLOCK(huart); //解锁串口状态
flag = 1; //接收完成标志
HAL_UARTEx_ReceiveToIdle_DMA(&huart1,RX_buff,255); //再次开启DMA空闲中断
}
}
|
|