Вам по-русски написали - выкладывайте код и сообщение об ошибке. Вы
1) сменили билиотеку и несказали об этом (ужж тем более не сказали на какую)
2) так и не выложили код (вместо этого выложили в #48 только огрызок от него).
Чего Вы хотите? Я сам буду догадываться что там ещё в Вашем коде есть? Я сам буду на кофейной гуще гадать какая у Вас теперь библиотека? А оно мне надо? Если Вам влом нормально выложить код, то ... так оно Вам нужно.
чем поможет смена возвращаемого значения, если в коде оно не используется?
Используется и очень активно. Практически все методы (print, println и т.д.) вызывают метод
write(const uint8_t *buffer, size_t size)
А тот весьма критично завязан на то, что "size_t write(uint8_t)" возвращает количество записанных байтов. Сами смотрите (файл "Print.cpp" в поставке IDE)
size_t Print::write(const uint8_t *buffer, size_t size)
{
size_t n = 0;
while (size--) {
if (write(*buffer++)) n++;
else break;
}
return n;
}
т.е. если "size_t write(uint8_t)" не вернёт 1, то у Вас не будет работать "write(const uint8_t *buffer, size_t size)", а значит не будет работать print, println и вообще, практически ничего.
Чтобы не было недоразумений: write - виртуальная функция, поэтому родительские IDE-шные классы вызывают её из дочернего класса - в нашем случае из класса LiquidCrystal.....
Ну, там вроде и print есть в 26-ой строке, но он утверждает, что проблема начинается раньше, это да.
Но мы сейчас не про ТС, пусть сначала покажет что у него за библиотека, потом будем с ним разбираться (в частности объясним, что если не работает setup, то пока не заработает, lopp нужно держать пустым, чтобы на засирать проблему посторонними вещами).
У меня перестало выдовать ошибки, вот так понятно?
И перестаньте меня тролить. ;)
Ну, тогда поздравляю.
так всё равно мой символ не выводит
?
Простите, Вы здоровы?
Вам по-русски написали - выкладывайте код и сообщение об ошибке. Вы
1) сменили билиотеку и несказали об этом (ужж тем более не сказали на какую)
2) так и не выложили код (вместо этого выложили в #48 только огрызок от него).
Чего Вы хотите? Я сам буду догадываться что там ещё в Вашем коде есть? Я сам буду на кофейной гуще гадать какая у Вас теперь библиотека? А оно мне надо? Если Вам влом нормально выложить код, то ... так оно Вам нужно.
Спасибо за помощь.
Извините еще раз
А по поводу ошибки у меня правда их больше нету
Нету, значит поменяли библиотеку. Какая именно версия LiquidCrystal_I2C.h сейчас у Вас стоит?
1.1.2.
Вы издеваетесь? Ссылку давайте, посмотреть-то на неё!
Это же известная проблема, выше написали решение несколько раз
в файле LiquidCrystal_I2C.cpp
1
inline
size_t
LiquidCrystal_I2C::write(uint8_t value) {
2
send(value, Rs);
3
return
0;
4
}
замениить return 0; на return 1;
а если его нету то добавить "return 1;
Это же известная проблема, выше написали решение несколько раз замениить return 0; на return 1; а если его нету то добавить return 1;
если вы программист - то обьясните, чем поможет смена возвращаемого значения, если в коде оно не используется?
а если не программист - не пишите ерунды
Используется и очень активно. Практически все методы (print, println и т.д.) вызывают метод
write(const uint8_t *buffer, size_t size)
А тот весьма критично завязан на то, что "size_t write(uint8_t)" возвращает количество записанных байтов. Сами смотрите (файл "Print.cpp" в поставке IDE)
т.е. если "size_t write(uint8_t)" не вернёт 1, то у Вас не будет работать "write(const uint8_t *buffer, size_t size)", а значит не будет работать print, println и вообще, практически ничего.
Чтобы не было недоразумений: write - виртуальная функция, поэтому родительские IDE-шные классы вызывают её из дочернего класса - в нашем случае из класса LiquidCrystal.....
Используется и очень активно.
в общем случае вы, конечно, правы - но у ТС в коде как раз используется "size_t write(uint8_t)" в голом виде и возвращаемое значение не анализируется
Ну, там вроде и print есть в 26-ой строке, но он утверждает, что проблема начинается раньше, это да.
Но мы сейчас не про ТС, пусть сначала покажет что у него за библиотека, потом будем с ним разбираться (в частности объясним, что если не работает setup, то пока не заработает, lopp нужно держать пустым, чтобы на засирать проблему посторонними вещами).
Тоже была такая проблема на1.8.7. заменил return 0; на return 1;
И все заработало...Спасибо.