網站首頁 健康小知識 母嬰教育 起名 運動知識 職場理財 情感生活 綠色生活 遊戲數碼 美容 特色美食 愛好
當前位置:酷知知識幫 > 遊戲數碼 > 電腦

單片機和上位機利用串口進行通訊

欄目: 電腦 / 發佈於: / 人氣:4.44K

大家在學習單片機時,上位機編寫好程序後,生成文件,下載到下位機進行運行,一般情況下,都是單機版,就是説只是單片機和部分外設進行獨立的工作。今天讓我來分享一下,單片機和上位機利用串口,進行實時通訊的小經驗。

操作方法

(01)第一步,將keil 4安裝到PC上,建個工程,編寫串口程序(相信懂單片機的小夥伴都會的,這是基本知識),在串口初始化程序中,設置好波特率(可以理解為單位時間內傳輸碼元符號的個數,要與比特率區分開),打開串口中斷和總中斷;

單片機和上位機利用串口進行通訊

(02)第二步,編寫串口中斷程序,串口中斷號是interrupt 4,(這個千萬別弄錯了),在中斷程序中,要定義一個接收從上位機PC端發過來的字符類型為:unsigned char ,並將單片機接收到的數據再返回到PC機上,在串口助手上顯示出來;

單片機和上位機利用串口進行通訊 第2張

(03)第三步,利用下載工具(相信大家都有的)下載編譯好的文件到單片機中,在PC端打開串口助手,在“我的電腦”-->"設備管理器"中找到對應的串口,設置好波特率,數據位數,停止位,校驗位,設置好以後,在“字符輸入框”中,輸入數字或者字符,點擊“發送”,此時,會在接收區看到接收到的字符。

單片機和上位機利用串口進行通訊 第3張

(04)第四步,如果你在接收區看到的是亂碼,一定是你波特率沒有設置成一致,此時要檢查串口初始化的程序,一般情況下,設置為4800Bps或者9600Bps,是沒有問題的,過高(115200Bps)可能會出現問題,誤差越小越好;

特別提示

在設置波特率的程序中,很可能會出現亂碼,此時可以嘗試將波特率設置的低一些,再嘗試。

希望能幫到小夥伴們,大家一起努力!