-1

我想使用ESP32 LoRa显示BMP180数据,但我收到此错误。任何帮助将不胜感激:

OLED_LoRa_Sender:113: 错误: 没有匹配函数调用'SSD1306Wire::drawString(float)'

display.drawString(bmp.readTemperature());

4

1 回答 1

1

您看到此错误是因为该readTemperature()方法返回一个浮点数,并且该drawString()方法没有将浮点数作为其参数。

您需要drawString()使用他们期望采用的参数调用方法,否则您的代码将无法编译(或者如果它确实以某种方式编译,它将无法正确运行)。

您通常可以在您正在使用的库的文档或源代码中找到它 - 查看.h头文件。

你没有说你正在使用哪个库,但如果它是https://github.com/ThingPulse/esp8266-oled-ssd1306上的那个,那么你可以在drawString() 这里找到声明。

void drawString(int16_t x, int16_t y, String text);

为了成功调用drawString(),您需要传递它xy坐标以及一个字符串对象,而不是浮点数,如下所示:

display.drawString(5, 10, String(bmp.readTemperature()));

这应该在显示器上的坐标 (5, 10) 处绘制字符串。

于 2018-06-08T01:48:34.937 回答