當前位置:妙知谷 >

遊戲數碼 >電腦 >

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

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

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

操作方法

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

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

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

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

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

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

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

特別提示

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

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

  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/sm/diannao/evldrj.html