單片機串口收發仿真實驗


學習單片機過程中遇到兩個問題:

1、寫好串口代碼,手邊沒有硬件調試;

2、串口收發出現奇怪的問題,無法定位;

經過百度,百度,再百度后,終於找到了解決方法,那就是:串口收發仿真。不多說,總結如下:

實驗需要的軟件:VSPDVirtual Serial Port Driver)、串口調試助手、Keil

環境搭建:

 1、VSPD配置

△點擊1處選擇兩個互相通信的串口,其中一層的串口要和串口調試助手設置的串口相同,且兩個串口的串口號是在Keil中可識別的(稍后Keil部分詳說);

△選好串口后,點擊2處添加;

△ 當要刪除串口對時,在串口沒被占用的情況下,點擊4刪除;

2、串口調試助手設置:

⊙設置好相關參數,包括串口、波特率、校驗位等,另外為了使接收的數據不出現亂碼,采用十六進制發送和顯示,如圖:

 

3、Keil設置:

⊙源碼編譯通過后,打開Debug

⊙在【View】中選擇打開【Command window,如圖:點擊13可以切換到命令窗口和串口數據監視窗口,在命令窗口下,2處為輸入命令行;

⊙用命令對串口設置:

△如圖,輸入命令時,在其下方2處會有命令提示:

△在輸入com后會顯示出當前系統中可識別的串口(VPSD中設置可參考):

 

△設置被綁定計算機串口參數,使用mode命令,其后參數與串口調試助手中設置參數相同,命令格式為:

MODE  COMx baudrate, parity, databits, stopbits

COMx:計算機串口號(VSPD中設置的串口號);

Baudrate:波特率

Parity:校驗方式,0表示無校驗,1表示奇校驗,2表示偶校驗

Databits:數據位

Stopbits:停止位

△設置好參數后需要將單片機串口綁定到計算機串口,使用assign命令,命令格式如下:

ASSIGN channel <inreg> outreg

Channel:計算機串口號,設置好參數的串口;

<inreg>outreg:代表單片機串口,對於只有一個串口的單片機,即<SIN>SOUT;對於有兩個或多個串口的單片機為<SnIN>SnOUTn012…)。注意:<SIN><>必須帶上;

△設置好后,能看到VSPD的串口處有參數:

到此,單片機串口收發仿真的環境就搭建完成了,接下來進行仿真操作。需要注意的是,串口仿真既需要單步調試查看具體情況,也需要全速運行模擬現實的通信。

仿真的串口通信和現實串口測試相似:串口助手模擬上位機發送和接受數據,Keil環境模擬單片機串口,它的串口監視窗口顯示單片機從上位機收到的數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM