Помогите с lcd.cursor
- Войдите на сайт для отправки комментариев
Вс, 06/05/2018 - 11:28
объясните, кто знает, почему при установке курсора таким способом lcd.setCursor (8, d); cd.cursor(); он еле заметно бегает по всему 16х2 экрану, а не подсвечивается в в указанном lcd.setCursor (8, d); месте?
while (a < 9) { if (present)temperatura(); lcd.setCursor(14, 0); lcd.print(celsius); lcd.setCursor(14, 1); lcd.print(celsius1); lcd.setCursor(5, 0); lcd.print(s); lcd.setCursor(5, 1); lcd.print(s + 1); lcd.setCursor(7, 0); lcd.print(temp1[g]); lcd.setCursor(7, 1); lcd.print(temp1[g + 1]); lcd.setCursor (8, d); lcd.cursor(); }
А while для чего?
Как написано, так и работает.
я его ставил и до while все равно бегает по всему экрану
while для того, чтоб не выйти из void setuptemp(), по-другому я не знал как сделать
я его ставил и до while все равно бегает по всему экрану
В упор не вижу.
lineyka, поставьте отладочные печати по коду и посмотрите, как он выполняется.
В упор не вижу.
делал вот так
И в каких строках Вы "ставили до while"?
Ну и, что я Вам советовал, - отладочные печати Вы поставили?
стояло в строках 31, 32, я поставил в 15,16 строки.
я реально не понимаю как работает set.cursor
у меня в таком коде он гоняет по всему слову чуть заметный
и даже в таком
если есть возможность покажите пожалуйста правильный код для курсора.
если честно, я не понял куда надо поставить отладочные печати, что я должен увидеть
прошу помощи, я не понимаю принцип работы set.cursor
может я неправильно его применяю, мне надо чтобы он подчеркивал (вообще чтоб моргал) под определенным символом в слове или под определенной цифрой (например: second или 56)
lineyka, это не он сам гоняет, это Вы его гоняете почем зря.
Не нужно его теребить на каждом проходе цикла, обращения к нему должны быть тогда и только тогда (!), когда изменяется информация, которую нужно отобразить.
А все остальное время он должен стоять и ждать.
andriano, спасибо, что отвечаете!
но в каком месте я его гоняю? как я понимаю в setup команды выполняются один раз после включения контроллера, но и там он "гоняет"
использовать его хочу для указателя выставления значени, например, времени 00:00:00 далее 00:00:00 при этом он должен еще моргать
если можно покажите пожалуйста пример на коде в 6 посте
но в каком месте я его гоняю?
А Вы поставьте печать в Serial рядом с каждым обращением к lcd, и сами увидите.
поставил в 10 строке и слово отобразилось в порте только один раз, а вот на экране курсор под словом second так и не поймать. Выглядет примерно вот так second _ естественно линия не сплошная и она еле заметна, т.к. курсор гоняет там с бешенной скоростью
если сделать вот так
то все моргает под буквой е, это правильный код или есть другой способ?
lineyka, у Вас в коде я насчитал 7 строчек, начинающихся с lcd и только одну Serial.println.
И еще, правильно ли я понимаю, что таким образом Вы пытаетесь организовать мигание курсора? А что, библиотекой не поддерживается аппаратное мигание курсора? Что-нибудь типа lcd.blink?
про те принты, которые Вы говорите, я знаю, что они выполняются циклом. Я думал, что все принты и курсор работают не зависимо друг от друга, а как я понял, то нет и принты "стирали" курсор поэтому он и бегал по всему слову. Я правильно понял?
lcd.blink это же мигающий квадрат, а мне надо подчеркивание или я опять ошибаюсь?
Честно говоря, курсором ни разу пользоваться не приходилось. Но что-то мне помнится, что его форму можно переключить на подчеркивание. В дэйташит нужно смотреть.
Если бы была такая возможность, это было бы прекрасно. Подскажите где можно почитать про курсор?