看了一下午,真是不知道该怎么改,要哭了!

2019-07-15 14:50发布

    一部分程序:
   #include<reg51.h>
   #include"esp8266.h"
   #include"temp.h"
   #include"ds1302.h"
   unsigned char code TCPLJ[]={"AT+CIPSTART="TCP","tcp.lewei50.com",9960"}; //TCP连接地址
   unsigned char code FSSJ1[]={"{"method": "update","gatewayNo": "02","userkey": "8f032c67b50d4ab192d7bc6938246b43"}&^!"};
   unsigned char code FSSJ2[]={"{"method": "upload","data":[{"Name":"T1","Value":""};
   unsigned char code FSSJ3[]={"{"method": "upload","data":[{"Name":"H1","Value":""};
   unsigned char code SF[]={""}]}&^!"};        //结束标识符
  unsigned char code AT[]={"AT "};            
  // unsigned char code SD[]="AT+CIPSEND=200";(这句暂时不要)
   unsigned char code FS[]={"AT+CIPSEND "};   //发送的AT指令


   void sendstring(unsigned char *str)         //发送字符串
{
   while((*str) != '')
   {
     sendchar(*str);
     str++;
   }
}     
   void sendchar(unsigned char ch)        //发送一个字符
   {
                   SBUF=ch;
                while(!ti);
                TI=0;

   }

                      //esp8266
                void sendtemperature(void)
   {   delay1ms(5000);
       sendstring(AT);
        delay1ms(500);
       sendstring(TCPLJ);
           delay1ms(500);
              sendstring(FS);
           delay1ms(500);
           sendstring(FSSJ1);//发送注册信息
           delay1ms(500);
           sendchar(0x1A);
           sendstring(" ");
           delay1ms(500);

           sendstring(FS); //开始
           delay1ms(500);
           sendstring(FSSJ2);//发送温度信息
           sendstring(w);
           sendstring(SF);
           delay1ms(500);
           sendchar(0x1A);
           sendstring(" ");
           delay1ms(500);

          //发送湿度
          sendstring(FS);
          delay1ms(500);
          sendstring(FSSJ3);//发送湿度
          sendstring(w);
          sendstring(SF);
          delay1ms(500);
          sendchar(0x1A);
          sendstring(" ");

}   
有问题的其实是红 {MOD}的这句,那个w变量是别的.c文件里的,那里定义的是double w;w是18b20测出来的温度,一开始每次运行都显示w未定义,问题1:如果是不同的.c文件里的变量,想要引用该怎么办,我是直接放到头文件里面了,然后共用这个头文件,不知道这样可以不?这个extern可以用在这里吗?怎么用啊?
问题2:放到头文件里之后,再运行显示 error C214: illegal pointer conversion,不合法的指针转换什么意思,这个double型的变量w的地址是什么啊?该怎么改?
问题3:话说我看过别人一个用gprs的一个类似的程序,他使用这个w的时候是:extern unsigned char *w;这样,,,怎么写啊?






友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。