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