将3个整数连接到Arduino中的空格字符串

我目前正试图将3个整数连接到空格分隔的字符串。 但是,我似乎无法得到正确的语法。 我是否错过了一个可以帮助我将字符串放在一起的函数? 下面是我试图使用的代码应该执行的功能。

我目前收到错误:

test.ino:函数'void conv_display_f(unsigned char *,float *)':test:50:error:从'unsigned char *'无效转换为'char *'test:50:error:初始化int参数1 snprintf(char *,size_t,const char *,...)'

float flon = 11.11;
unsigned char lon_digits[10];


void setup()
{
  Serial.begin(9600);  
  Serial.println();

}

void loop()
{
  conv_display_f(lon_digits, &flon);


void conv_display_f(unsigned char *loca, float *cord)
{
  int deg, minute, seconds;
  char degC[3], minC[2], secC[3];


  float temp = cord[0];
  deg = floor(temp);
  minute = floor((temp-deg)*60);
  seconds = (((temp-deg)*60)-minute)*60;

  snprintf(lon_digits, sizeof(lon_digits), "%d %d %d", deg, minute, seconds);


}

也许你可以使用'snprintf()'?

char string[100+1];
...
snprintf(string, sizeof(string), "%d %d %d", deg, minute, seconds);
...

也许:

snprintf(string, sizeof(string), "%d %d %d", atoi(deg), atoi(minute), atoi(seconds));

要么:

snprintf(string, sizeof(string), "%s %s %s", deg, minute, seconds);

(我对你打算在你的代码中进行连接的地方有些困惑)。

链接地址: http://www.djcxy.com/p/73209.html

上一篇: Concatenate 3 integers to a space deliminated string in Arduino

下一篇: Casting Function Pointer to Integer in C++