導航:首頁 > 操作系統 > 新手單片機串口不循環

新手單片機串口不循環

發布時間:2024-05-31 19:11:52

㈠ PIC單片機問題 串口傳輸數據,感覺一直在中斷程序裡面門都進不了主循環。

unsigned char rev_data = 0;
unsigned char send_data = 0;
void interrupt ISR()
{
if (RCIE & RCIF) //判斷是否為串口接收中斷
{

rev_data = RCREG; //將接收緩存器中數據讀取出來
if(TRMT == 1)
{
TXREG = rev_data;
}
PORTD = ~PORTD;
}
}
單片機最好不要直接寄存器的值賦給寄存器,對串口接收中斷必須將緩存器數據讀取出來才能清空。另外main函數中while(1)當中要作長延時,不然數據看不到你從串口助手發送後,單片機返回的數據,你嘗試一下,不能保證一定可以。

㈡ 單片機的串口輸入總是中斷

肯定串口有數據,且接收完成後才能進入中斷,造成你這種現象的,要麼是硬體電路有干擾,RXD線總有一些干擾脈沖,所以造成中斷。要麼是程序其他地方有問題,強制是RI置1,而進入了中斷。

㈢ STC單片機串口不可以連續接收數據

明顯就不合理,你在中斷里發送數據,估計你還是在那裡等它發送完。
當你接收第一次中斷的時候,你清除了中斷,發送你的數據,此時單片機接收到了n次數據,但是還不能被立即中斷,因為你在中斷里發送數據,還沒退出中斷,但此時RI已經置1,發送數據結束後,退出當前中斷,由於之前RI置1了(sbuf被刷新很多次,只能接收最近一個位元組),又響應了一次中斷,所以再發一次數據。
解決辦法:在中斷外發送數據,並採用循環隊列接收方式。

閱讀全文

與新手單片機串口不循環相關的資料

熱點內容
什麼java編譯器支持中文 瀏覽:561
香港伺服器如何做代理 瀏覽:199
pdf寫入 瀏覽:984
高爾夫電台怎麼添加到文件夾 瀏覽:239
四川麻將一般下哪個app 瀏覽:864
反編譯exe腳本 瀏覽:460
源碼文件夾怎麼編譯到固件中 瀏覽:912
ERp列印伺服器錯誤怎麼弄 瀏覽:113
蚌埠u盤加密軟體有哪些 瀏覽:180
前端如何認證伺服器 瀏覽:554
linux切換db2用戶命令 瀏覽:308
相片如何用電解壓 瀏覽:908
碩士程序員去學校當老師 瀏覽:122
pythonstr提取到字典 瀏覽:820
程序員那麼可愛有人看上陸漓了 瀏覽:878
php正則提取圖片 瀏覽:105
pythonlinuxdjango 瀏覽:564
php中文返回亂碼 瀏覽:91
宿舍裝的電信怎麼加密 瀏覽:747
為什麼壓縮文件解壓後變少了 瀏覽:428