如何将浮点值从Arduino-UNO发送到ESP8266-01

时间:2019-09-13 08:59:55

标签: arduino iot esp8266 arduino-uno arduino-ide

我正在尝试将数据从arduino发送到esp-01,但是我只能发送整数值,或者如果我正在发送浮动值,则esp-01将通过软件将其作为整数接收连续

我尝试使用软件串行发送,也尝试过将float转换为字符串,但是在将字符串传递给myserial.write(STRING)时却给了我错误

data = 0.00005146;
myserial.write(data);

1 个答案:

答案 0 :(得分:0)

从发送端使用Serial.println()函数

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

void loop() {
  float x = 0.00005146;
  Serial.println(x, 8);
  delay(1000);
}

在另一端使用以下内容

float x;
while (Serial.available() > 0) {
    String Data = Serial.readStringUntil('\n');
    x = Data.toFloat();
    Serial.println(x, 8)
}

注意:浮点数的精度只有6-7个十进制数字,较长的字符串可能会被截断。