maxims 发表于 2014-4-11 22:37 
学习一下。。。我也被这个事情烦恼着
楼主可能基础不太好,我今晚刚做了个无线头追,用的无线串口传输的,上代码- #include <Servo.h>
- #define SERIAL_BAUD 9600
- Servo servoPan;
- Servo servotill;
- char data[10];
- int index,panAngle,tiltAngle;
- char *p;
- void setup() {
- // put your setup code here, to run once:
- Serial.begin(SERIAL_BAUD);
- servoPan.attach(9);
- servotill.attach(10);
- }
- void loop() {
- // put your main code here, to run repeatedly:
- memset(data,0,10);
- index=0;
- p=NULL;
- while(Serial.available())
- {
- data[index++]=Serial.read();
- delay(10);
- }
-
- if(data[0]=='%')
- {
-
- p=strtok(data+1,";");
- if(p==NULL)
- return;
-
- panAngle = atoi(p);
-
- p=strtok(NULL,";");
- if(p==NULL)
- return;
-
- tiltAngle = atoi(p);
- servoPan.write((int)panAngle);
- servotill.write((int)tiltAngle);
- }
- }
复制代码 我这里串口输入的数据格式是 %123;55
前面一个%开头表示数据开始,每个数据使用分号分割,我这里传的是用字符标识的整形数据,所以要把字符串123 55 转化成整形 |