資料介紹
51單片機的串口,是個全雙工的串口,發送數據的同時,還可以接收數據。
當串行發送完畢后,將在標志位 TI 置 1,同樣,當收到了數據后,也會在 RI 置 1。
無論 RI 或 TI 出現了 1,只要串口中斷處于開放狀態,單片機都會進入串口中斷處理程序。
在中斷程序中,要區分出來究竟是發送引起的中斷,還是接收引起的中斷,然后分別進行處理。
看到過一些書籍和文章,在串口收、發數據的處理方法上,很多人都有不妥之處。
接收數據時,基本上都是使用“中斷方式”,這是正確合理的。
即:每當收到一個新數據,就在中斷函數中,把 RI 清零,并用一個變量,通知主函數,收到了新數據。
發送數據時,很多的程序都是使用的“查詢方式”,就是執行 while(TI ==0); 這樣的語句來等待發送完畢。

這時,處理不好的話,就可能帶來問題。
看了一些網友編寫的程序,發現有如下幾條容易出錯:
1.有人在發送數據之前,先關閉了串口中斷!等待發送完畢后,再打開串口中斷。這樣,在發送數據的等待期間內,如果收到了數據,將不能進入中斷函數,也就不會保存的這個新收到的數據。這種處理方法,就會遺漏收到的數據。
2.有人在發送數據之前,并沒有關閉串口中斷,當 TI = 1 時,是可以進入中斷程序的。但是,卻在中斷函數中,將 TI 清零! 這樣,在主函數中的while(TI ==0);,將永遠等不到發送結束的標志。
3.還有人在中斷程序中,并沒有區分中斷的來源,反而讓發送引起的中斷,執行了接收中斷的程序。對此,做而論道發表自己常用的方法:
接收數據時,使用“中斷方式”,清除 RI 后,用一個變量通知主函數,收到新數據。
發送數據時,也用“中斷方式”,清除 TI 后,用另一個變量通知主函數,數據發送完畢。
這樣一來,收、發兩者基本一致,編寫程序也很規范、易懂。更重要的是,主函數中,不用在那兒死等發送完畢,可以有更多的時間查看其它的標志。
- 使用51單片機進行串口通信的發送與接收資料和程序免費下載
- 單片機進行串口發送和接受的程序免費下載
- 如何使51單片機與PC進行串口通信詳細資料和程序免費下載
- 使用51單片機STC89C52進行串口接收的程序免費下載
- 使用51單片機進行UART串口通信的程序免費下載
- 51單片機進行串口通信的發送與接收的實例程序免費下載
- 51單片機的串口硬件說明及發送和接收操作的程序免費下載
- 如何使用51單片機進行串口通信的發送與接收
- 使用51單片機的中斷方式實現串口數據發送與接收的程序免費下載
- 使用51單片機進行字符串16進制發送與接收的串口程序免費下載
- 一個簡單的51單片機串口接收和發送的程序免費下載
- 使用51單片機進行串口通信的串口設置資料免費下載
- 一個簡單使用51單片機進行串口接收和發送的程序免費下載
- 單片機的串口接收和發送數據的程序免費下載
- 51單片機串口發送漢字的程序的資料免費下載 18次下載
- ?51單片機串口通信詳細介紹-小白必看 3.2k次閱讀
- 兩個單片機之間串口通信的例程 1.2w次閱讀
- 51單片機燒寫程序的方法 7.8k次閱讀
- 使用51單片機讀寫AT29C040的C語言程序免費下載 5.8k次閱讀
- HD44780讀寫單片機C51程序免費下載 5.1k次閱讀
- 單片機實現多機通信的資料和程序 8.5k次閱讀
- 如何設置51單片機的串行口來實現與PC機通信 4.8k次閱讀
- 51單片機串口通信的原理與應用流程解析 8k次閱讀
- 如何使用51單片機實現串口通信 3.1w次閱讀
- 如何對51單片機進行外部擴展 1.7w次閱讀
- 51單片機有哪些模擬串口的方法有哪些 6k次閱讀
- 單片機與PC串口通信的程序及電路圖詳解 1.6w次閱讀
- 基于51單片機的串口中斷發送數據幀 1.1w次閱讀
- 深入理解51單片機串口通信及通信實例 2.8w次閱讀
- 51單片機串口通信編程 2.2w次閱讀
下載排行
本周
- 1MDD品牌三極管BC807數據手冊
- 3.00 MB | 次下載 | 免費
- 2MDD品牌三極管BC817數據手冊
- 2.51 MB | 次下載 | 免費
- 3MDD品牌三極管D882數據手冊
- 3.49 MB | 次下載 | 免費
- 4MDD品牌三極管MMBT2222A數據手冊
- 3.26 MB | 次下載 | 免費
- 5MDD品牌三極管MMBTA56數據手冊
- 3.09 MB | 次下載 | 免費
- 6MDD品牌三極管MMBTA92數據手冊
- 2.32 MB | 次下載 | 免費
- 7STM32G474 HRTIME PWM 丟波問題分析與解決
- 1.00 MB | 次下載 | 3 積分
- 8新能源電動汽車高壓線束的銅鋁連接解決方案
- 2.71 MB | 次下載 | 2 積分
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2PC5502負載均流控制電路數據手冊
- 1.63 MB | 23次下載 | 免費
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測距通信定位模塊規格書
- 838.47 KB | 5次下載 | 免費
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發燒友App





創作
發文章
發帖
提問
發資料
發視頻
上傳資料賺積分
評論