高手请进,看看这是什么原因.
各位高手帮忙看看程序编译出现如下错误不知什么原因,请给与指导!本人纯菜鸟!帮我改好这三个错误我就能跑起来慢慢试验了。这里先谢谢啊!GPS_pde:173: error: incompatible types in assignment of 'char' to 'char '
GPS_pde.cpp: In function 'byte get_key(unsigned int)':
GPS_pde:182: error: ISO C++ forbids comparison between pointer and integer
这三个错误是我编译nngh朋友的下面帖子
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=3778&page=2#pid28985
里贴的GPS程序出现的,我也换了版本1.04,GPS也接上了,提示和裸机编译出错提示一样,现在头大了,我很想用这个程序玩玩。
那个代码有几处问题
char* idnmea[] = {"$GPRMC","$GPGGA"}; //IDs dos NMEA que vou utilizar
应该改成
const char* idnmea[] = {"$GPRMC","$GPGGA"}; //IDs dos NMEA que vou utilizar
intadc_key_val ={30, 150, 360, 535, 760 }; //valores do divisor de tensão do teclado do LCD Shield
应该改成
unsigned intadc_key_val ={30, 150, 360, 535, 760 }; //valores do divisor de tensão do teclado do LCD Shield
还有
case 12 :Serial.print("Checksum: ");Serial.print(datastream(11));break;
当datastream这个函数调用参数>=11时,byte fim = indice-2;这里数组访问会越界,呵呵 谢谢楼上histamine朋友,我一会按照您说的试试! histamine 发表于 2013-3-29 14:59 static/image/common/back.gif
那个代码有几处问题
char* idnmea[] = {"$GPRMC","$GPGGA"}; //IDs dos NMEA que vou utilizar
应该改成
...
按您的提示修改前面两条错误依旧。我估计这两句没问题。每次出错提示后下面这条语句显示黄色,估计应该是您说的第三个原因,但不知如何修改。
if(data==idnmea){ //Verifies that is $GPRMC
谢谢您的帮助! 本帖最后由 histamine 于 2013-3-30 17:40 编辑
fangtaonj 发表于 2013-3-30 13:34 static/image/common/back.gif
按您的提示修改前面两条错误依旧。我估计这两句没问题。每次出错提示后下面这条语句显示黄色,估计应该是 ...
原帖46行是
if(data==idnmea){ //Verifies that is $GPRMC
注意是data不是data
另外
case 12 :Serial.print("Checksum: ");Serial.print(datastream(11));break;
这行改成
default:break;
就行了
如果编译还通不过,建议将您的pde代码文件传上来,我看看 histamine 发表于 2013-3-30 14:57 static/image/common/back.gif
原帖46行是注意是不是data
另外这行改成就行了
谢谢histmine朋友!按照你的提示修改,程序终于调通了,虽然GPS还不能正常工作,但编译和上传都无问题,谢谢您!毛病就是46行缺,还有三处也是这个原因,不知为什么复制粘贴还能漏字,好奇怪!呵呵!
页:
[1]