導航:首頁 > 操作系統 > 單片機串口發送數據突然很慢

單片機串口發送數據突然很慢

發布時間:2025-01-02 01:02:07

單片機通過串口向PC不間斷發送變化的數據,PC接收總是延遲

這個問題很常見了,解決方法:
如果你能更改上位機軟體,將上位機軟體接收數據那塊改為"一旦接收緩沖區有數據,立刻讀出來顯示".
如果你沒辦法更改上位機軟體,那麼你可以間隔發送,比如兩包數據間隔為0.5S,或者找一款可以實時顯示的調試助手,推薦使用ttermpro測試下

⑵ 單片機串口發送數據不及時怎麼處理

不是很明白你要實現的功能。
你的中斷函數里寫的是如果接收到串口信息時,就將標志位置1,同時獲取此時P1口的按鍵狀態。
然後主程序檢測到標志位被置1,就將剛剛獲取的P1口按鍵狀態發回給上位機是這樣嗎?
不用說了,肯定是這樣。
我說說你程序的問題吧,首先你的P1口到底接了些什麼外圍電路我不知道,如果是按鍵,還分哪類按鍵呢,比如拔動開關,或者是普通按鍵。如果是拔動開關的話,那麽這個程序也沒多大問題。因為拔動開關是可以讓你的按鍵電平鎖定在高電平或低電平的,但如果是普通按鍵的話,那麽你的程序就很大問題了。
首先要產生RX信號,讓程序進入中斷,同時你的按鍵要按下。兩步要同時。所以導致你要不斷地按,狂按。
其實如果你的單片機不接收上位機傳來的串口信號,可以直接去掉中斷的。
while(1)
{
if(P1!=0XFF) // 證明有按鍵按下
{
pd1=P1; //將值取出。
while(P1!=0xff) ; //直到鬆手。

SBUF=pd1; //SUBF接受/發送緩沖器
P2=pd1;
//delay(); 這句delay沒多大意義。
while(TI==0);
TI=0;
Flag=0;
}

}
也可能是我誤解了你的意思,有什麼問題歡迎一起探討,希望我的回答對你有幫助。

⑶ 單片機串口通信,發送數據感覺不對,請大佬幫看看

你的主循環轉得太快,前一個數據還沒發送完就把SBUF又填充新數值,這樣很容易破壞發送的幀。
既然你不開中斷,就應當採用查詢工作方式,查詢TI標志位確認發送完成之後再進行下一步工作。

⑷ 51單片機 開啟串口TI後時鍾變慢

第一:這種情況只有在開串口中斷才會出現,你的程序中有IE=0x90;的語句嗎?
第二:開啟串口發送,是向SBUF中送數,如SBUF=0x8AH;但不能人為地TI=1,這樣做是錯誤的,當串口發送一個位元組後會自動置TI=1的,表示已發送完一個位元組,這樣,要由軟體清TI=0,再發送下一個位元組。
第三,人為地置TI=1,就會出現在沒有發送數據的情況下也會產生中斷,如果還沒有串口中斷子函數,也沒有清TI=0的語句,就會不停地中斷,當然就會影響執行延時子函數,那延時的時間肯定要長了。

⑸ stc8h單片機串口通訊數據不發送

stc8h單片機串口通訊數據不發送如果都配置檢測沒什麼問題,能夠正常的發送數據但是不能夠接收數據的話就要考慮是不是IO沒有配置好。將指指基RX的埠配置成設置I/O口為准雙向口模式,唯謹再次逗好進行嘗試。

閱讀全文

與單片機串口發送數據突然很慢相關的資料

熱點內容
乾燥機製冷壓縮機一開就跳動 瀏覽:386
吉林壓縮空氣流量監測 瀏覽:616
根據地址獲取經緯度php 瀏覽:10
小天才app的應用中心有什麼應用 瀏覽:768
java代碼整理 瀏覽:259
安卓單個胎壓怎麼配對 瀏覽:627
linux將文件清空 瀏覽:476
一套前端編譯平台 瀏覽:598
安卓9x用什麼框架 瀏覽:72
萬用表怎樣量壓縮機漏電 瀏覽:548
無線路由器雲登錄伺服器未連接 瀏覽:781
aes是公鑰密碼演算法 瀏覽:698
linuxphp編譯參數 瀏覽:534
安卓手機怎麼永久關閉後台啟動 瀏覽:40
網站phpjavascript 瀏覽:453
64位java內存 瀏覽:418
女程序員學習方法 瀏覽:383
工程數學線性代數pdf 瀏覽:681
提升程序員技術檔次的書 瀏覽:691
python詞雲圖txt格式 瀏覽:968