求助!数据类型搞不清!请路过大侠们指点!-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3476|回复: 2

求助!数据类型搞不清!请路过大侠们指点!

[复制链接]
发表于 2013-4-9 10:06 | 显示全部楼层 |阅读模式


各位朋友,我想搞个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*)'
请问如何修改错误并可以按我的设想完成程序?
发表于 2013-4-9 13:42 | 显示全部楼层
comdata = char(Serial.read());  改成char comdata = Serial.read();
 楼主| 发表于 2013-4-9 19:04 | 显示全部楼层
谢谢啷哩个铛 兄!我明天到办公室试试!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-28 15:15 , Processed in 0.081113 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表