AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
01.01.2024, 08:21
|
|
Временная регистрация
Регистрация: 07.03.2019
Сообщений: 87
Сказал спасибо: 11
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Скролинг содержимого на LCD nokia 5510
Приветствую всех! Всех с новым годом!!! Желаю всем побед и спокойствия.
Как я и говорил я только в самом начале пути изучения МК.
Камень аtmega 128, дисплей nokia 5510
Условно есть переменная и с ней происходят изменения. Как сделать так что бы она выводилась на дисплей в новой строке с сохранением прошлого результата на предыдущей. А после 6 строки(это максимум что лезет на дисплей), начинало скролится содержимое?
Я написал цикл. Строка меняется, но предыдущая строка затирается. Если убрать очистку дисплея, предыдущее содержимое остается, но получается эффект не скрола, а затирание построчно. Хочется получить прокрутку, наподобие как в меню, когда листаешь вниз.
Нажмите, чтобы открыть спойлер
PHP код:
|
int main(void) { displey_start(); // Запуск дисплея while (1) { int stroka; // Переменная для указания дисплею номера строки int d; // переменная которая выводится с итерацией
if (d‹99999) d++; if (d++) stroka++; if(stroka›=6) stroka=0; // создание буфера для переменной d и вывод на дисплей Lcd_clear(); char buff[20]; itoa(d, buff, 10); Lcd_print(0, stroka, FONT_1X,(unsigned char *)buff); Lcd_update(); _delay_ms(200);
} }
|
|
|
|
|
01.01.2024, 13:38
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
|
Re: Скролинг содержимого на LCD nokia 5510
Если сам дисплей не поддерживает прокрутку, то создаёшь буфер на 6 строк.
Ну и программно сдвигаешь (меняешь) как надо все 6 строк и заново их выводишь.
|
|
|
|
01.01.2024, 15:13
|
|
Временная регистрация
Регистрация: 07.03.2019
Сообщений: 87
Сказал спасибо: 11
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Скролинг содержимого на LCD nokia 5510
Сообщение от Godzilla82
|
то создаёшь буфер на 6 строк
|
Та библеотека что у меня, не поддерживает. Пытался адафруит заюзать. но даже не запустился дисплей.
А как его создать? вот я создам массив int stroki [6] {} а как в него записывать содержимое переменной?
Сообщение от Godzilla82
|
Ну и программно сдвигаешь (меняешь) как надо все 6 строк и заново их выводишь.
|
В общем я уже два дня копаюсь, и не могу найти видео того где изображение скролится в низ. только скролы самой строки, но мне это не нужно. А менять все 6 строк тоже смысла особого нет, тогда можно просто Lcd_update убрать и будет оставаться все 6 строк, а потом начнется перезапись с первой
|
|
|
|
01.01.2024, 16:20
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
|
Re: Скролинг содержимого на LCD nokia 5510
Ну всё зависит от хотелок. Если хотите, чтобы прокручивалось вниз, то перерисовывайте все 6 строк.
PHP код:
|
void display_data(int d)
{
static int data[4];
static signed char index = 0;
static signed char count = 0;
signed char c,i;
data[index++] = d;
if(index == 4) index = 0;
if(count ‹ 4) count++;
lcd_clear();
for(c = 0; c ‹ count; c++) {
lcd_gotoxy(0,c);
i = index - count + c;
if(i ‹ 0) i += 4;
printf("%d",data[i]);
}
}
void main(void)
{
unsigned char i;
lcd_init(20);
for(i = 1; i ‹ 50; i++) {
display_data(i);
delay_ms(500);
}
}
|
|
|
|
|
01.01.2024, 17:07
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.02.2013
Сообщений: 1,047
Сказал спасибо: 43
Сказали Спасибо 273 раз(а) в 214 сообщении(ях)
|
Re: Скролинг содержимого на LCD nokia 5510
Дисплей nokia 5510 - графический. Там нет всяких фишечек со скролингом, перемещением курсора и т. п которые есть у текстовых дисплеев.
Если к этому вопросу подходить по взрослому - надо в памяти контроллера организовать видеопамять как у текстовых дисплеев (на ней можно реализовать все функции текстовых дисплеев). И с какой то периодичностью передавать (через DMA ессно) определенный массив этой памяти в Nokia 5110. Это будет текущее окно видимости памяти виртуального текстового дисплея.
|
|
|
|
01.01.2024, 17:13
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
|
Re: Скролинг содержимого на LCD nokia 5510
Сообщение от dgrishin
|
Если к этому вопросу подходить по взрослому...
|
Человек спрашивает, как в массив int[] записывать содержимое переменной, а вы ему про DMA, которого нет в ATMEGA128.
|
|
|
|
01.01.2024, 21:00
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,221 раз(а) в 1,319 сообщении(ях)
|
Re: Скролинг содержимого на LCD nokia 5510
Дисплей Nokia 5510 - очень старый и очень примитивный, он не имеет аппаратной команды сдвига пиксельных строк, такой как Start Line в более современных дисплеях. Поэтому построчная прокрутка может быть реализована только полной перерисовкой всех текстовых строк.
Так же, микроконтроллер ATMega 128 очень древний и примитивный, никаких DMA в нем и в помине нету.
|
|
|
|
02.01.2024, 00:48
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,653
Сказал спасибо: 117
Сказали Спасибо 815 раз(а) в 592 сообщении(ях)
|
Re: Скролинг содержимого на LCD nokia 5510
Ну элементарно же роллинг строк делается! Но если таки надо по тексту вверх-низ мотать, то следует завести отдельно текстовый буфер и отдельно экранный. Могу тоже код скинуть, то там уже STM32 и DMA, которого в аврке нет.
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
|
|
|
|
02.01.2024, 06:40
|
|
Временная регистрация
Регистрация: 07.03.2019
Сообщений: 87
Сказал спасибо: 11
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Скролинг содержимого на LCD nokia 5510
Сообщение от eddy
|
Ну элементарно же роллинг строк делается!
|
Как говорят - все просто когда знаешь). Но моих знаний пока что с жопку муравья.
Пока для моих условных задач хватает меги128 и такого дисплея, но не думал что автоматическая прокрутка содержимого вызовет такие трудности. В моем случае, это будет обычная переменная, которая будет либо расти, либо уменьшаться. но хочется видеть именно в таком режиме как я говорил(
Последний раз редактировалось Devil Byte; 02.01.2024 в 06:46.
|
|
|
|
02.01.2024, 06:48
|
|
Временная регистрация
Регистрация: 07.03.2019
Сообщений: 87
Сказал спасибо: 11
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Скролинг содержимого на LCD nokia 5510
Сообщение от NewWriter
|
древний и примитивный
|
Согласен, но мне под мои задачи пока хватит его с головой, и думал что такого дисплея хватит( По итогам это оказалось целой проблемой.( Перейти на какй-то дисплей цветной на li 9341?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:34.
|
|