1 两个arduino板进行串口通讯实验 (2012-10-27 08:39:51)转载▼ 2 标签: 杂谈 3 购得两块arduino板子,想试试其通讯能力,于是写下如是程序,居然没有打麻烦,奇怪! 4 接线:两个板子各用电池供电,将两块板子的 D1、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.html