实验用的单片机是STC89C52RC,我写了个程序想通过串口发送一组数据过去然后单片机原封不动把这一组数据发回给PC,PC发送数据用的软件是串口调试助手,但是我发现只要超过了10个字节的数据反发回来的数据就会老是少一个字节,比如我发54 01 00 08 52 4c 01 00 03 04 05 08,单片机发回来的总会少一个字节,有时候会少04,有时候会少05,然后我再试54 01 00 08 52 4c 01 00 03 04 05 08 87 ed ba,发现发送回来的字节总要比发送出去的字节要少一位,而且都是要么少04,要么就少05,其他数据都是正常的,我发现04刚好是第10个字节,05是第11个字节。
我程序的处理方式是只要接收到一个字节就马上把接收到的字节发送回来给PC,我没有用到数组,这样就不存在数组空间溢出什么的了,想不明白,这会是什么原因呢? |