Вы видите эту ошибку, потому что метод 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
координаты иобъект String, а не число с плавающей точкой, например:
display.drawString(5, 10, String(bmp.readTemperature()));
Это должно нарисовать строку в координатах (5, 10) на дисплее.