| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > Дисплей LCD1602A Реализация функции Backspace |
| Автор: supercelt 14.8.2016, 23:11 |
| Привет. Прикрутил матричную клаву к stm32, и повесил дисплей. Вывожу на экран то что набираю на клаве. Вопрос, как организовать, когда нажимаешь на звёздочку, что бы напечатанный символ стирался ну и соответственно курсор возвращался на 1 место назад. Мои мысли такие: при нажатии на * 1. Узнать текущий адрес курсора 2 Сделать минус на 1 ячейку. 3. Очистить только эту ячейку (остальные не трогать) 4. Поставить курсор на 1 поз назад. Я не знаю только как делать пункты 1 и 3. Не подскажете? |
| Автор: Romikgy 15.8.2016, 08:53 |
| Имхо проще постоянно следить где курсор... и когда надо стирать знак левее курсора и смещать курсор... |
| Автор: baldman88 15.8.2016, 12:26 |
| Как уже написал Romikgy, гораздо удобнее хранить положение курсора в переменной. Очищать можно просто записывая в нужную позицию символ пробела. |
| Автор: supercelt 17.8.2016, 20:47 |
| Если кому пригодится 1) Сдвигаем курсор влево, команда = 10h. 2) Печатаем пробел (очищаем знакоместо), код символа = 20h. 3) Снова сдвигаем курсор влево, команда = 10h. |