![]() |
發布時間: 2017-10-13 17:05
正文摘要:小弟入門單片機不久,在寫一個小程序,目標是從單片機從串口發送數據給單片機,單片機接受數據放進數組,新數據來到后和之前數組中的數據進行比較,如果相同不進入數組,不相同就進入數組,最后輸出數組中元素的個數 ... |
這個問題搜舊帖子就行。BBS比Q群好太多的優點就在于此。 http://www.zg4o1577.cn/bbs/dpj-150703-1.html |
188610329 發表于 2023-6-19 13:00 STC89C51 12M用定時器0/定時器1最多只能用4800,11.0592M能用9600,更高的要22.1184M才行了。當然用STC8H8K、STC15\STC12等系列較新的51單片機,可以更快速率通信。STC89C51單片機用T2定時器,11.0592M的晶振可以用115200波特率。 |
joyb 發表于 2023-6-19 10:14 和12M 沒什么關系,我12M 用57600一樣沒事 問題的關鍵是他中斷里有了: SBUF = count; while(!TI); 這個東西,說實話,中斷里放了這個 他 4800 能用應該已經偷笑了。 |
單片機用12M晶振,9600誤差太大,4800還可以 |
串口中斷未規劃得好。 中斷收到一個字節后就退出來。 |