在代码中,我在编译时收到此警告。
我试图解决此问题,但我无法解决此问题。

  static uint8_t tx_data;

 int *recvdata2,*recvdata;
 recvdata= str2int(tx_data); //warning assignment from incompatible pointer type
recvdata2=(uint8_t*)&recvdata


str2int是将字符串转换为整数的函数。

   int str2int(char *str)
{
    int res=0;
    int i;
    for ( i = 0; str[i] != '\0'; ++i)
    res=(res)*10+str[i]-'0';
    return res;
}


我对此不满意。请帮助我解决此问题。
任何帮助将不胜感激。

最佳答案

当前,您正在尝试将int分配给int *
您会看到recvdata是指向int的指针。

修改如下。

 int *recvdata2, recvdata;
 recvdata = str2int(tx_data);
 recvdata2 = &recvdata

08-05 04:45