Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 18.10.2015, 15:31  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию [LCD] H/W Scroll

Помогите разобраться со скроллингом. Работаю с ST7735S.
Области скроллинга размечены:
Код:
void ST7735S_DefineScrollArea (unsigned char TOP, unsigned char BOTTOM)
{
	LCD_WriteCmd(ST7735S_SCRLAR); 	//Vertical scroll
	LCD_WriteData(0);	//BOTTOM area size
	LCD_WriteData(BOTTOM);
	LCD_WriteData(0);	//Scroll area size
	LCD_WriteData(LCD_V - TOP - BOTTOM);
	LCD_WriteData(0);	//TOP area size
	LCD_WriteData(TOP);	
}
Далее сдвигаем страницу памяти:
Код:
		LCD_WriteCmd(ST7732S_VSCSAD);
		LCD_WriteData(0x00);
		LCD_WriteData(VScrollValue);
Проблема в том, что новая запись всегда сопровождается сбросом скроллинга и выходом в обычный режим. Я ожидал, что память останется "сдвинутой" на VScrollValue строк. На SD1289, думаю, аналогично сделано.
Реклама:
Easyrider83 вне форума  
Непрочитано 19.10.2015, 22:23  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: [LCD] H/W Scroll

В общем, сделал через залипуху.
Плавная анимация прокрутки вниз
Код:
			for (cnt = CurString * 16 - 16; cnt ‹ CurString * 16; cnt++)
			{
				LCD_ScrollString(cnt);
				vTaskDelay(10);
			}
Печать строки
Код:
			LCD_ASCII8X16_PrintString(0, LCD_V - 16 * CurString, Data.Text, Data.Color, Data.BkColor);
			CurString++;
			if (CurString › LCD_V/16 - 1) CurString = 1;
И сдвиг
Код:
LCD_ScrollString(CurString * 16 - 16);
Смысл в том, что отрисовка и сдвиг происходят настолько быстро (частота SPI 72/4 МГц), что глаз не успевает заметить. В результате имеем плавную анимированную прокрутку списка.
Easyrider83 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Net Scroll мышиный драйвер 3d cube Отвлекитесь, эмбеддеры! 16 27.07.2013 09:41
у кого есть d-link 2500u H/W Ver.:A1 igonzo Ремонт оргтехники 0 06.09.2010 17:02


Часовой пояс GMT +4, время: 20:43.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot