1 兩個arduino板進行串口通信實驗 (2012-10-27 08:39:51)轉載▼ 2 標籤: 雜談 3 購得兩塊arduino板子,想試試其通信能力,因而寫下如是程序,竟然沒有打麻煩,奇怪! 4 接線:兩個板子各用電池供電,將兩塊板子的 D一、D0交叉聯接。 5 char ss; 6 int i=10; 7 void setup() 8 { 9 Serial.begin(9600); //設置串口速度 10 pinMode(13,OUTPUT);//通常13口上都有一個已經接好的LED,因此用這個口子,少接些元件 11 } 12 void loop() 13 { 14 if(i>0)//啓動時的開關信號,這樣能夠避免主程序陷入死循環 15 {Serial.print(\'a\');//先向從機發一個‘a’, 16 i=0;} 17 ss=Serial.read();//再讀串口,接受從機的字符‘b’ 18 if(ss==\'b\') 19 { 20 digitalWrite(13, HIGH); 21 delay(300); 22 digitalWrite(13, LOW); 23 delay(300);//讓13腳的LED閃爍 24 ss=0; 25 i=10;//讓i從新賦值 26 } 27 } 28 // 從機 : 29 //收到主機發來的a.LED閃爍,向主機發一個b 30 char ss; 31 void setup() 32 { 33 Serial.begin(9600); 34 pinMode(13,OUTPUT); 35 } 36 void loop() 37 { 38 ss=Serial.read(); 39 if(ss==\'a\') 40 { 41 digitalWrite(13, HIGH); 42 ss=0; 43 delay(300); 44 digitalWrite(13, LOW); 45 delay(300); 46 } 47 Serial.print(\'b\');//收到‘a\'後向主機發一個’b\' 48 }
此外最重要也是最厲害的就是I2c通訊,http://www.eefocus.com/zhang700309/blog/12-01/236815_59f78.htmlhtml