BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #9460同步于 2010/9/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

求助 ADS1.2编译 错误提示implicit cast of pointer to non-equ

jvjvzhilian
2010/9/29镜像同步4 回复
#define GSM_G // System Head File #include <stdarg.h> #include <string.h> #include <stdlib.h> #include <stdio.h> #include <ctype.h> // User Head File #include "option.h" #include "2440addr.h" #include "def.h" //#include "mainfile.h" #include "serial.h" #include "GSM.h" void SendMessage1(uchar *buf) { UartSendString(1,buf); } uchar mess_buf_in_end = 0; // 发送AT指令 void ATCommand(uchar *mess, uchar flag) { mess_buf_in_end = 0; Uart1.pIn = 0; SendMessage1(mess); // 串口发送数据 if(flag) SendMessage1("\r\n"); //出错位置 // 等待GSM数据 uchar WaitMessageBack(uchar *mess, uchar n) { for(;;) { if(mess_buf_in_end == 1) { mess_buf_in_end = 0; if(!strncmp(Uart1.buf, mess, n)) //出错位置 { return TRUE; } } } } // 接收AT指令数据 void Receive_Mess(uchar ch) { switch (ch) { case 0x0d: //行结束符 Uart1.buf[Uart1.pIn] = '\0'; Uart1.pIn = 0; mess_buf_in_end = 1; break; case 0x0a: //不予理睬 break; default: Uart1.buf[Uart1.pIn++] = ch ; if(Uart1.pIn >= 0xff) Uart1.pIn = 0xff; break; } } // 初始化短信息 void SMSInit(void) { ATCommand("ATE0",1); // 关闭回显 WaitMessageBack("OK",2); ATCommand("AT+CCID",1); // 查看SIM 卡 Delay(3000) ; ATCommand("AT+CSCA=\"+8613800200500\"",1); // 设置在广州地区的服务中心号码 WaitMessageBack("OK",2); ATCommand("AT+CMGF=1",1); // 设置为文本方式 WaitMessageBack("OK",2); ATCommand("AT+CNMI=2,1,0,0,0",1); WaitMessageBack("OK",2); } // 发英文短信 // number 为手机号码 // mess 为短信内容 void SendSMS(uchar *number, uchar *mess) { uchar buf[2]={0x1A, 0x00}; ATCommand("AT+CMGS=\"", 0); ATCommand(number, 0); ATCommand("\"", 1); Delay(3000) ; ATCommand(mess, 0); ATCommand(buf, 0); WaitMessageBack("+CMGS",5); } 一直提示变量类型不匹配 求教高手怎么修改 uchar改成char还是不行
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
hobby机器人#1 · 2010/9/29
试试:函数调用时,将传入的参数进行强制转换,使其与被调用函数需要的参数保持类型一致 这个好像是个很常见的错误,请google,一片一片的
ericyosho机器人#2 · 2010/9/29
猜,变成 const char * 就都行了。
jvjvzhilian机器人#3 · 2010/9/30
【 在 hobby 的大作中提到: 】 : 试试:函数调用时,将传入的参数进行强制转换,使其与被调用函数需要的参数保持类型一致 : 这个好像是个很常见的错误,请google,一片一片的 : -- : ................... 我将所有的全部改成char就行了 奇怪所有的都是uchar怎么就不行了 非常感谢
hobby机器人#4 · 2010/10/4
uchar的定义也的确是有的吗? 可以写个很小的程序编译试一下(不使用strcmp等,只是看看uchar能否通过编译) 【 在 jvjvzhilian (踽踽之恋) 的大作中提到: 】 : 我将所有的全部改成char就行了 奇怪所有的都是uchar怎么就不行了 非常感谢