将char数组解析为整数,atoi()返回平方

时间:2018-11-10 17:55:54

标签: arduino hc-05

我正在使用一个android应用程序发送值以控制伺服器。 代码:

char inputData[4];  
char buffer[3];
void loop()
{



   if(Serial.available() > 3) {
      for (int i = 0; i < 4; i++){
        inputData[i] = Serial.read();

        }
    char buffer[4];
    buffer[0] = inputData[1];
    buffer[1] = inputData[2];
    buffer[2] = inputData[3];
    buffer[3] = '\0';
    int angle = atoi(buffer);
    Serial.write(angle);


   }
}

问题:我正在获取值+ A-F字母来寻址每个伺服器-A10,A180,B30等。现在的麻烦是将其转换为实际的整数。如您所见,正如我在arduino论坛上的帖子中所建议的那样,我声明了一个用于存储整数的字符数组,并在数组末尾添加了\ 0。当前,Atoi返回随机字符,主要是正方形和一些随机数。我什至尝试将它们分配给一个字符串,然后分配给.toInt(),但在那里同样存在问题,主要是正方形。 有任何想法吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

使用printprintln将数字视为文本。 write将其作为字节发送,然后串行监视器显示带有该ASCII码的符号。