提示错误expected‘=’‘,’ or‘——attribute——’before‘:’token

原问题:提示错误expected‘=’‘,’ or‘——attribute——’before‘:’token
分类:编程开发 > 最后更新时间:【2017-04-04 21:36:03】
问题补充:

#include<wiringPi.h>

#include<string.h>

#include<wiringSerial.h>

#include<stdio.h>

#include<errno.h>

void setup();

int data[3]={0};

int fd,mark=0;

std::string comdata//有错误

int main()

{

setup();

if((fd = serialOpen("/dev/ttyAMA0",9600))==-1) //初始化串口,波特率9600

{

cerr<<"serial open error"<<endl;

exit(-1);

}

while(1)

{

int j=0,i,x,y;

while(serialDataAvail(fd) >= 1) //如果串口缓存中有数据

{

comdata + = serialGetchar(fd);

delay(2);

mark=1;

}

if(mark==1) //接受到发送的数据

{

for(i=0;i<comdata.size();i++)

if(comdata[i]==',')

{j++;}

else

{

data[j]=data[j]*10+(comdata[i]-'0');

}

for(i=0;i<1;i++)

{

x=data[0];

y=data[1];

serialPutchar(fd,data[0]);

serialPutchar(fd,data[1]);

data[0]=0;

data[1]=0;

}

while(serialGetchar(fd)>=0) {;}

mark=0;

}

}

void setup()

{

if(-1==wiringPiSetup())

{

cerr<<"set up error"<<endl;

exit(-1);

}

}

最佳答案

你用的是c++的程序,但包含的是C的头文件

正确的头文件为

#include <iostream>

#include <string>

using namespace std;

这三个是须加的

另外,你的

std::string comdata//有错误

最后少了分号了

你的

comdata + = serialGetchar(fd);

+=间多个空格(这个也是不可以的)

最后void setup()前面少了 }

最佳答案由网友  whoami1978  提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
19

分享到:

其他回答

暂无其它回答!

    推荐