實驗用的單片機是STC89C52RC,我寫了個程序想通過串口發(fā)送一組數據過去然后單片機原封不動把這一組數據發(fā)回給PC,PC發(fā)送數據用的軟件是串口調試助手,但是我發(fā)現只要超過了10個字節(jié)的數據反發(fā)回來的數據就會老是少一個字節(jié),比如我發(fā)54 01 00 08 52 4c 01 00 03 04 05 08,單片機發(fā)回來的總會少一個字節(jié),有時候會少04,有時候會少05,然后我再試54 01 00 08 52 4c 01 00 03 04 05 08 87 ed ba,發(fā)現發(fā)送回來的字節(jié)總要比發(fā)送出去的字節(jié)要少一位,而且都是要么少04,要么就少05,其他數據都是正常的,我發(fā)現04剛好是第10個字節(jié),05是第11個字節(jié)。
我程序的處理方式是只要接收到一個字節(jié)就馬上把接收到的字節(jié)發(fā)送回來給PC,我沒有用到數組,這樣就不存在數組空間溢出什么的了,想不明白,這會是什么原因呢? |