串口接收字符时,最后一个字符延时发送

使用的是5271的串口,调试时用调试助手给5271的串口发送数据。
在5271的程序中需要对串口送来的完整包做处理,而判断完整包的方式是:在接受字符串过程中,如果在接受完
某个字符后的一段时间内(称为超时时间)再没有接受到字符,则认为完整的一包已经收完。这是触发一次串口高级中断,
并处理该包。
但现在的现象是在调试助手中,发送"112233",但是该字符串分为两个完整的包,第一个是"1122",第二个是"3";
串口助手应该是没有问题的,感觉好像是5271的串口吧最后一个字符延时发送了。
解决的办法:
5271的串口的中断发生方式有两种:
1 接收到一个字符触发中断
2 缓冲区溢出触发中断

原先设置的是方式是方式1
现在不设置,而是取默认的就好了

原先为:
MCF_UART_UMR0 = (0
                | uparity
                |MCF_UART_UMR_RXIRQ
                |MCF_UART_UMR_PT
                | MCF_UART_UMR_BC_8 );
现在为
MCF_UART_UMR0 = (0
                | uparity
            //    |MCF_UART_UMR_RXIRQ
                |MCF_UART_UMR_PT
                | MCF_UART_UMR_BC_8 );

原文地址:https://www.cnblogs.com/gaotaozhaolei/p/1036011.html