Arduino 端口通信实例
生活随笔
收集整理的這篇文章主要介紹了
Arduino 端口通信实例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//
//Arduino 1.0.x-----Arduino Uno----COM9
//使用3-10號引腳連接8個LED
//
int incomingByte = 0; //輸入的數據存儲變量
int count=1;
void setup() {Serial.begin(9600);// opens serial port, sets data rate to 9600 bpsfor(int i=3;i<=10;i++)//打開3-10號引腳
pinMode(i,OUTPUT);
}void loop() {while(count){Serial.println("please input 0 1 2 3 4 5 6 7 8 9 a");count=0;}//第一次操作說明,count為了第一次限制if (Serial.available() > 0){incomingByte = Serial.read();//讀取Serial.println(incomingByte, DEC);//寫入}//從COM口讀取數據switch (incomingByte)//數據處理并對引腳進行調控
{case 48://輸入0時將3-10號引腳設為高電位,使所有的燈滅for(int i=3;i<=10;i++){digitalWrite(i,HIGH);}break;case 49://輸入1從3-10號引腳電位依次設低電位維持0.5s,然后設為高電位,實現流水燈效果for(int i=3;i<=10;i++){digitalWrite(i,LOW);delay(500);digitalWrite(i,HIGH);}break;case 50://輸入2流水燈,和輸入1時方向相反for(int i=10;i>=3;i--){digitalWrite(i,LOW);delay(500);digitalWrite(i,HIGH);}break; case 51: digitalWrite(3,LOW);break;//輸入3,將3號電位調低,只讓3號引腳的燈亮case 52: digitalWrite(4,LOW);break; //.....case 53: digitalWrite(5,LOW);break; //.....case 54: digitalWrite(6,LOW);break; //.....case 55: digitalWrite(7,LOW);break; //.....case 56: digitalWrite(8,LOW);break; //.....case 57: digitalWrite(9,LOW);break; //.....case 97: digitalWrite(10,LOW);break;//.....default: for(int i=3;i<=10;i++){digitalWrite(i,HIGH);}break;//將所電位調高關閉所有燈
}
}
將上面代碼燒入板子,然后利用串口通信虛擬機就可以與單片機進行通信控制啦:(下面是在vs2012的插件下運行的虛擬通信程序,有興趣的同學可以查一下這個插件,很好的,可以在vs2010或更高版本上編寫、運行、調試上面的代碼):
?
轉載于:https://www.cnblogs.com/zjutlitao/p/3478275.html
總結
以上是生活随笔為你收集整理的Arduino 端口通信实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WeakReference与SoftRe
- 下一篇: 简单编码