protues仿真arduino串口通讯
使用proteus仿真arduino的確為我們省去了每次搭建硬件電路的麻煩,但我們漸漸地發現,利用arduino板可以直接通過串口調試的便利卻失去了,有的時候還真是懷念通過串口調試窗口發送出來的調試信息,否則有的時候真的兩眼一抹黑。
許多東西都是等到失去了才懂得她的珍貴,記得很多年前用win xp的年代,自帶了一個串口助手現在沒有了感覺可惜,后面當要用串口調試的時候就只能自己編寫一個或者下一個別人編寫的來調試,珍惜眼前有用吧(廢話太多了,下面進入正題)。
其實在proteus中我們一樣是可以借助arduino中的調試助手的,只不過我們要事先完成兩個準備步驟:
第一、安裝串口虛擬軟件(這里推薦virtual serials Ports)
安裝很簡單,就是要注意破解,文后我會給出打包下載(包含proteus仿真工程文件和虛擬串口軟件及破解包)。
虛擬串口安裝之后,不要立刻運行它。將壓縮包內附的用vspdctl.dll文件放到C:\Program Files\Eltima Software\Virtual Serial Port Driver 7.2目錄下面,覆蓋原來的文件即可破解。
啟動以后沒有提示試用時間限制,那就表示成功了,我這建立了一對串口:
打開電腦的設備管理器,可以找到他們
第二,proteus工程文件中添加一個串口元件compim,如下圖:
這里,我們編寫一個簡單的讀寫變阻器變量值的程序,如下:
編寫玩代碼千萬別忘記一件事,那就是設置好我們的串口號及波特率,否則你收到的可能就是空白或者亂碼(一般設置和arduino的串口調試窗口的波特率一致9600),雙擊串口元件,彈出設置窗口:
這樣,我們就能夠在調試助手上收到變阻器發送過來的數值了。
接下來,我們測試一下由arduino調試窗口來控制我們工程中的led的亮滅,首先我們添加8個LED燈:
然后,我們來給程序添加幾行:
int led=0; void setup() {// put your setup code here, to run once: pinMode(0,INPUT); Serial.begin(9600); Serial.println("hello my friend!"); for(int i=13;i>5; i--) pinMode(i,OUTPUT);}void loop() {// put your main code here, to run repeatedly:int rslt=Serial.read;Serial.println(rslt);switch(rslt){case 0:digitalWrite(led+6,HIGH);break;case 1:digitalWrite(led+7,HIGH);break;case 2:digitalWrite(led+8,HIGH);break;case 3:digitalWrite(led+9,HIGH);break;case 4:digitalWrite(led+10,HIGH);break;case 5:digitalWrite(led+11,HIGH);break;case 6:digitalWrite(led+12,HIGH);break;case 7:digitalWrite(led+13,HIGH);break;default:delay(200);break;} }當我們按下2和4時,效果如下:
一下是工程包以及虛擬串口軟件和破解包
虛擬軟件下載
總結
以上是生活随笔為你收集整理的protues仿真arduino串口通讯的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你所不知道的setTimeout
- 下一篇: 回调函数总结(个人见解)