【问题标题】:LoRa32 error to display BMP180 DATALoRa32 错误显示 BMP180 数据
【发布时间】:2018-11-18 00:10:12
【问题描述】:
我想使用 ESP32 LoRa 显示 BMP180 数据,但收到此错误。任何帮助将不胜感激:
OLED_LoRa_Sender:113:错误:没有匹配的函数调用
'SSD1306Wire::drawString(float)'
display.drawString(bmp.readTemperature());
【问题讨论】:
标签:
arduino
arduino-ide
arduino-esp8266
esp32
lorawan
【解决方案1】:
您看到此错误是因为readTemperature() 方法返回一个浮点数,而drawString() 方法没有将浮点数作为其参数。
您需要使用它们期望采用的参数调用像 drawString() 这样的方法,否则您的代码将无法编译(或者如果它以某种方式编译,它将无法正确运行)。
您通常可以在您正在使用的库的文档或源代码中找到它 - 查看 .h 头文件。
你没有说你使用的是哪个库,但如果是 https://github.com/ThingPulse/esp8266-oled-ssd1306 的那个,那么你可以找到 drawString() here 的声明。
void drawString(int16_t x, int16_t y, String text);
为了成功调用drawString(),您需要传递x 和y 坐标和一个字符串对象,而不是浮点数,如下所示:
display.drawString(5, 10, String(bmp.readTemperature()));
这应该在显示器上的坐标 (5, 10) 处绘制字符串。