我想使用ESP32 LoRa显示BMP180数据,但我收到此错误。任何帮助将不胜感激:
OLED_LoRa_Sender:113: 错误: 没有匹配函数调用'SSD1306Wire::drawString(float)'
display.drawString(bmp.readTemperature());
我想使用ESP32 LoRa显示BMP180数据,但我收到此错误。任何帮助将不胜感激:
OLED_LoRa_Sender:113: 错误: 没有匹配函数调用'SSD1306Wire::drawString(float)'
display.drawString(bmp.readTemperature());
您看到此错误是因为该readTemperature()
方法返回一个浮点数,并且该drawString()
方法没有将浮点数作为其参数。
您需要drawString()
使用他们期望采用的参数调用方法,否则您的代码将无法编译(或者如果它确实以某种方式编译,它将无法正确运行)。
您通常可以在您正在使用的库的文档或源代码中找到它 - 查看.h
头文件。
你没有说你正在使用哪个库,但如果它是https://github.com/ThingPulse/esp8266-oled-ssd1306上的那个,那么你可以在drawString()
这里找到声明。
void drawString(int16_t x, int16_t y, String text);
为了成功调用drawString()
,您需要传递它x
和y
坐标以及一个字符串对象,而不是浮点数,如下所示:
display.drawString(5, 10, String(bmp.readTemperature()));
这应该在显示器上的坐标 (5, 10) 处绘制字符串。