我觉得不会影响。
我平常的处理思路跟你一样,中断中只处理接收一个字符和做必要的且尽可能少的标志位,然后到主循环中去做其它处理,比如解析报文。跟进多少次没有影响,收到完整的一串报文了再处理,这个完整可以在中断中进行判断,比如以报头和报尾的特殊字符作为标识,从这个意义上来说,可以进无限次中断。但就像其它坛友说的,如果你这400次接收的字符没有存放好,数组或者堆栈溢出,那就会系统复位。所以,在接收完毕之前,应该确保存储数据的空间足够,接收完毕在数据处理期间,如果还可能有新数据接收,应该确保接收缓冲区足够,及时腾出不再用的空间,其它外设的运行也一样思路,保证好堆栈和数组不溢出、程序流程不进死胡同,那应该不会跑飞的,顶多就是丢失部分发来的数据或者某些事件没响应,但程序不至于跑飞。 |