|
各位朋友,我想搞个GPS数据读取和处理程序练手,但下面程序总是在 comdata = char(Serial.read());这一句出错,提示好像是数据类型不对。求大侠指点!
#include <LiquidCrystal.h>
#define data 1
String comdata = "";
int i=1;
int j=1;
LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);
void setup()
{
Serial.begin(2400);
lcd.clear(); //Clear LCD
lcd.begin(16,2);
lcd.print("DEMO");
// lcd.setCursor(0, 2); //set cursor on LCD at col 0 and row 2
// lcd.print("Arduino GPS");
delay(1000);
lcd.clear();
}
void loop()
{//y
while (Serial.available() > 0)
{ //y
for (i=0;i>1;i--); //用I变量控制是否是数据头$,并在后面判断过了六个逗号后读取逗号后面的数据(速度)。
{
comdata = char(Serial.read());
delay(2);
if (char comdata='$')
{
for (j=1;j>=7;j++);//开始判断逗号,六个说明后面已缓冲区已到了我需要的速度数据了,但是读速度数据的语句还没加,应为前面一直不能编译。
{
comdata = char(Serial.read());
delay(2);
if (comdata =',')
{
j==j+1;
Serial.print(comdata);
if (j=7)//判断到了需要读速度数据的位置了
{
i=5 ;//跳出循环,以便读速度数据
}
}
}
}
}
//该处应加入读速度数据和处理语句,但还没加。
}
if (comdata.length() > 0)
{
Serial.print(comdata);//打印看是否正确
lcd.setCursor(4, 1);
lcd.print((comdata));
lcd.setCursor(10, 1);
lcd.print(i);
}//y
}//y
程序也不长,求大侠们给看看!万分感谢!
出错提示如下:
comm2.ino: In function 'void loop()':
comm2:24: error: invalid conversion from 'char' to 'const char*'
comm2:24: error: initializing argument 1 of 'String& String:perator=(const char*)'
请问如何修改错误并可以按我的设想完成程序?
|
|