好久没有发布博客了,今天遇到个问题,串口接受不定长没有空闲中断如何处理?
我下面说下自己的方法,如果有异议还望告知谢谢!
1、在串口终端中加入全局变量,进入串口中断赋值。
void interrupt_uart(void)
{
uart_rxDealy =3; //串口接收延时
cnt ++; //数组下标
buff[cnt] =pdata; //存放数据
}
2、再main函数主循环里面添加10ms调度函数,并减减uart_rxDealy标志,等标志为零就置位接收完成中断。
void delayrx(void)
{
if(uart_rxDealy --)
{
if(uart_rxDealy == 1)
{
uart_rxOK =ON;//接收完成
}
}
}