PhX 0 12 сентября, 2008 Опубликовано 12 сентября, 2008 · Жалоба Каким образом можно переместить курсор на начало 2 строки, 3-й, 4-й? Как перейти на начало произвольной строки? К примеру мы находимся в начале 2й строки напечатали "11111" и теперь хочется перейти на начало четвертой строки, допустим перешли, напечатали "22222", а теперь перешли на начало первой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 121 12 сентября, 2008 Опубликовано 12 сентября, 2008 · Жалоба Каким образом можно переместить курсор на начало 2 строки, 3-й, 4-й?Не поверите. Командой Set Display RAM address. И адреса начал строк фиксированы. Это очень подробно описано в даташите на контроллер HD44780. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
PhX 0 12 сентября, 2008 Опубликовано 12 сентября, 2008 · Жалоба Не поверите. Командой Set Display RAM address. И адреса начал строк фиксированы. Это очень подробно описано в даташите на контроллер HD44780. Охотно верю, :) только трафика на даташит не хватает, а методом тыка логику определить что-то не выходит. Напишите, если не трудно, адреса начал строк. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 121 12 сентября, 2008 Опубликовано 12 сентября, 2008 · Жалоба Странный у вас интернет. На форум хватает, на даташит - нет. Ну да ладно, вашему начальству виднее... 1 - 0 2 - 0x40 3 - продолжение первой, т.е. 0x10 для 16 символов, 0x14 для 20, 0x18 для 24 4 - продолжение второй, т.е. 0x50 для 16 символов, 0x54 для 20, 0x58 для 24 для индикаторов 4*40 две верхние строки обслуживает один контроллер, две нижние - второй, т.е. там 1 и 3 строки имеют адрес 0, 2 и 4 - 0x40 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
otrog 0 12 сентября, 2008 Опубликовано 12 сентября, 2008 · Жалоба для дисплея WH2004A __flash unsigned char ddram_hd[4] = {0x00, 0x40, 0x14, 0x54}; void goto_cursorXY(unsigned char x, unsigned char y) { if ( x < 20 && y < 4 ) lcd_write((x + ddram_hd[y]) | (1<<7), 0); // ---запись команды в HD44780 } Адреса знакомест приводятся в доке на индикатор. Например для вышеназванного индикатора адреса на картинке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
PhX 0 12 сентября, 2008 Опубликовано 12 сентября, 2008 · Жалоба Премного благодарен. Все понял. Всем спасибо. :) Интернет - очень уж хитрый предмет.... Если он есть....., то его сразу нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться