久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 842|回復: 2
打印 上一主題 下一主題
收起左側

#167-D: 警告問題,請問如何解決

[復制鏈接]
跳轉到指定樓層
樓主
100黑幣
編譯后出現User\main.c(57): warning:  #167-D: argument of type "char" is incompatible with parameter of type "char *"

強制類型轉換還是無法消除,請大佬指點

相關代碼如下:


NEMA_MSG gps;


while(1)
        {   
   if(DMA_RxFlag)
   {
     DMA_RxFlag = 0;

     GNRMC_Analysis(&gps,(uint8_t*)usart3_dma_buf);
     HMI_Send_TxtIntVar("page0.t0",gps.utc.year);
     HMI_Send_TxtIntVar("page0.t2",gps.utc.month);     
     HMI_Send_TxtIntVar("page0.t4",gps.utc.date);     
     HMI_Send_TxtIntVar("page0.t18",gps.utc.hour);
     HMI_Send_TxtIntVar("page0.t19",gps.utc.min);     
     HMI_Send_TxtIntVar("page0.t20",gps.utc.sec);


     HMI_SendTxDblvar("page0.t10", gps.longtitude/100000);

     HMI_SendTxtStrVar("page0.t12",gps.E_W);    //這句有警告

     HMI_SendTxDblvar("page0.t13",gps.latitude/100000);

     HMI_SendTxtStrVar("page0.t15",gps.N_S);  // 這句有警告

     HMI_SendTxDblvar("page0.t23",gps.speed/10000);     
     HMI_SendTxDblvar("page0.t25",gps.course/100);            
   }  
  }

/*GNRMC解析程序
gpsx:數據結構體
buf: 接收到是數據幀首地址指針
*/
void GNRMC_Analysis(NEMA_MSG *gpsx,uint8_t *buf)
{
   uint8_t *p1,dx;
   uint8_t posx; //第幾個逗號
   uint32_t temp;
   float rs;

   p1 = (uint8_t*)strstr((const char *)buf,"GNRMC"); //獲取GNRMC數據幀幀頭指針

   posx = NMEA_GetComma(p1,1);            
   if(posx != 0xff)
   {
     temp = NMEA_Str2Num(p1+posx,&dx)/NMEA_Pow(10,dx);  //獲取UTC時間,去掉.后毫秒
     gpsx->utc.hour = temp/10000;
   gpsx->utc.min = (temp/100)%100;
   gpsx->utc.sec =  temp%100;
   }

   posx = NMEA_GetComma(p1,3);              //緯度
   if(posx != 0xff)
   {
    temp = NMEA_Str2Num(p1+posx,&dx);
    gpsx->latitude = temp/NMEA_Pow(10,dx+2);//得到°
    rs = temp%NMEA_Pow(10,dx+2);//得到 '
    gpsx->latitude = gpsx->latitude*NMEA_Pow(10,5)+ (rs*NMEA_Pow(10,5-dx))/60;//轉換為°
   }
   posx = NMEA_GetComma(p1,4);   
   if(posx != 0xff)    gpsx->N_S = *(p1+posx);   //南緯北緯

   posx = NMEA_GetComma(p1,5);            //經度
   if(posx != 0xff)
   {
     temp = NMEA_Str2Num(p1+posx,&dx);  //獲取UTC時間,去掉.后毫秒
     gpsx->longtitude = temp/NMEA_Pow(10,dx+2);//得到°
     rs = temp%NMEA_Pow(10,dx+2);//得到 '
     gpsx->longtitude = gpsx->longtitude*NMEA_Pow(10,5)+ (rs*NMEA_Pow(10,5-dx))/60;//轉換為°
   }
   posx = NMEA_GetComma(p1,6);   
   if(posx != 0xff)    gpsx->E_W = *(char*)(p1+posx);   //東經西經

   posx=NMEA_GetComma(p1,7);                                                                //得到地面速率
   if(posx!=0XFF)
   {
     gpsx->speed = NMEA_Str2Num(p1+posx,&dx);
     if(dx<3)  gpsx->speed*=NMEA_Pow(10,3-dx);                                  //確保擴大1000倍
   }

   posx=NMEA_GetComma(p1,8);                                                                //得到航向
   if(posx!=0XFF)
   {
     gpsx->course = NMEA_Str2Num(p1+posx,&dx);
     if(dx<3)  gpsx->speed*=NMEA_Pow(10,3-dx);                                  //確保擴大1000倍
   }  

   posx=NMEA_GetComma(p1,9);                                                                //得到UTC日期
   if(posx!=0XFF)
   {
     temp=NMEA_Str2Num(p1+posx,&dx);                                                 //得到UTC日期
     gpsx->utc.date=temp/10000;
     gpsx->utc.month=(temp/100)%100;
     gpsx->utc.year=2000+temp%100;                  
   }

}



__packed typedef struct
{
  DATE_TIME   utc;
  uint8_t     N_S;             //南緯北緯
  double      latitude;        //緯度
  char        E_W;             //東經西經
  double      longtitude;      //經度
  int16_t     atitude;         //海拔高度
  double      speed;           //速度
  double      course;          //航向
}NEMA_MSG;


GPS_DMA _V4.zip

344.29 KB, 下載次數: 0

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:929517 發表于 2025-2-16 06:54 | 只看該作者
/*   向HMI發送字符串變量,文本控件顯示   txtBox 文本控件名稱  strVar 字符串變量 */ void HMI_SendTxtStrVar(char *txtBox,char *strVar) {   char str[50] = "";    //定義字符串變量      memset(str,'\0',sizeof(str));//使用之前先清空字符串   strcat(str,txtBox);  //拼接字符串   strcat(str,".txt=\""); //拼接上.txt=   strcat(str,strVar);    //HMI控件要顯示的字符串   strcat(str,"\"");      //HMI控件要顯示的字符串   Serial_SendString(USART3,str);   HMI_Send_EndFlag(); }
回復

使用道具 舉報

板凳
ID:161164 發表于 2025-2-18 16:47 | 只看該作者
HMI_SendTxtStrVar的第2個傳參也是字符串
建議先用sprintf把數值轉為字符串再傳參

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品国产第一综合99久久 | 91国内精品 | 午夜色婷婷 | 视频一区二区中文字幕 | 中文字幕日本一区二区 | 欧美电影一区 | 中文字幕欧美一区 | 亚州无限乱码 | a级在线观看 | 日本在线播放一区二区 | www.一区二区三区 | 亚洲精品大片 | av一级久久 | 国产精品综合 | 亚洲日本视频 | 欧美专区日韩专区 | 99亚洲精品 | 日韩精品a在线观看图片 | 久干网| 草在线| 国产精品成人一区 | 欧美精品一区二区三区在线 | 欧美激情一区二区三级高清视频 | 日本精品一区二区三区视频 | 日韩一区二区三区在线观看 | 欧美日韩一区二区三区四区 | 亚洲精品在线视频 | 一级毛片成人免费看a | 成年男女免费视频网站 | 亚洲国产aⅴ成人精品无吗 欧美激情欧美激情在线五月 | 亚洲视频二区 | 二区精品| 免费黄色网址视频 | 欧美一级毛片久久99精品蜜桃 | 天天天天操| 日韩中文字幕在线视频 | 精品国产乱码久久久久久丨区2区 | 久久青 | 可以免费看的毛片 | 成人在线观看网站 | 伊人艹 |