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

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

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

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

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

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

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 16.06.2010, 16:23  
Uragan90
Почётный гражданин KAZUS.RU
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

А зачем 12 регистров гаммы? Зачем так много не в курсе?
Реклама:
Uragan90 вне форума  
Непрочитано 16.06.2010, 17:34  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Сообщение от Uragan90 Посмотреть сообщение
А зачем 12 регистров гаммы? Зачем так много не в курсе?
Это для ч/б изображения в основном. Ну и для точной цветопередачи. Можно сильно с этим не заморачиваться, а брать рекомендуемые значения (типовые).
kison вне форума  
Непрочитано 16.06.2010, 18:07  
Uragan90
Почётный гражданин KAZUS.RU
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Я так понял что в видео память пишем-читаем согласно этих диаграм? Чтоб например написать приличную библиотеку надо вначале настроить пины NCS, DNC_SCK, NRD_E, NWR_RNW, DB0-DB15 их объявить, а потом уже настраивать таймера, думать над цветом и прочими заморочками? Так??
Миниатюры:
Нажмите на изображение для увеличения
Название: HX8352.gif
Просмотров: 78
Размер:	93.5 Кб
ID:	8926  
Uragan90 вне форума  
Непрочитано 16.06.2010, 18:20  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Сообщение от Uragan90 Посмотреть сообщение
Так??
Да. Начинать однозначно с настройки выводов. Иначе управлять индикатором будет нечем.
kison вне форума  
Непрочитано 16.06.2010, 18:59  
Uragan90
Почётный гражданин KAZUS.RU
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Вот так как нибудь? Пины взяты просто для примера..
PHP код:
#define HIGH_LCD_CS   (IOSET1 = (1 ‹‹ 0))   //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ LCD_CS
#define LOW_LCD_CS    (IOCLR1 = (1 ‹‹ 0))   //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ LCD_CS

#define HIGH_LCD_RS   (IOSET1 = (1 ‹‹ 1))   //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ RS
#define LOW_LCD_RS    (IOCLR1 = (1 ‹‹ 1))   //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ RS

#define HIGH_LCD_RES  (IOSET1 = (1 ‹‹ 2))   //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ RES
#define LOW_LCD_RES   (IOCLR1 = (1 ‹‹ 2))   //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ RES

#define HIGH_LCD_RD   (IOSET1 = (1 ‹‹ 3))   //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ RD
#define LOW_LCD_RD    (IOCLR1 = (1 ‹‹ 3))   //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ RD 

#define HIGH_LCD_WR   (IOSET1 = (1 ‹‹ 4))   //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ WR
#define LOW_LCD_WR    (IOCLR1 = (1 ‹‹ 4))   //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ WR

#define HIGH_DB0      (IOSET1 = (1 ‹‹ 5))   //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ DB0 
#define LOW_DB0       (IOCLR1 = (1 ‹‹ 5))   //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ DB0

#define HIGH_DB1      (IOSET1 = (1 ‹‹ 6))   //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ
#define LOW_DB1       (IOCLR1 = (1 ‹‹ 6))   //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ

#define HIGH_DB2      (IOSET1 = (1 ‹‹ 7))   //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ
#define LOW_DB2       (IOCLR1 = (1 ‹‹ 7))   //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ

#define HIGH_DB3      (IOSET1 = (1 ‹‹ 8))   //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ
#define LOW_DB3       (IOCLR1 = (1 ‹‹ 8))   //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ

#define HIGH_DB4      (IOSET1 = (1 ‹‹ 9))   //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ
#define LOW_DB4       (IOCLR1 = (1 ‹‹ 9))   //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ

#define HIGH_DB5      (IOSET1 = (1 ‹‹ 10))  //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ
#define LOW_DB5       (IOCLR1 = (1 ‹‹ 10))  //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ

#define HIGH_DB6      (IOSET1 = (1 ‹‹ 11))  //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ
#define LOW_DB6       (IOCLR1 = (1 ‹‹ 11))  //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ

#define HIGH_DB7      (IOSET1 = (1 ‹‹ 12))  //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ
#define LOW_DB7       (IOCLR1 = (1 ‹‹ 12))  //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ

#define HIGH_DB8      (IOSET1 = (1 ‹‹ 13))  //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ
#define LOW_DB8       (IOCLR1 = (1 ‹‹ 13))  //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ

#define HIGH_DB9      (IOSET1 = (1 ‹‹ 14))  //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ
#define LOW_DB9       (IOCLR1 = (1 ‹‹ 14))  //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ

#define HIGH_DB10     (IOSET1 = (1 ‹‹ 15))  //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ
#define LOW_DB10      (IOCLR1 = (1 ‹‹ 15))  //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ

#define HIGH_DB11     (IOSET1 = (1 ‹‹ 16))  //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ
#define LOW_DB11      (IOCLR1 = (1 ‹‹ 16))  //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ

#define HIGH_DB12     (IOSET1 = (1 ‹‹ 17))  //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ
#define LOW_DB12      (IOCLR1 = (1 ‹‹ 17))  //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ

#define HIGH_DB13     (IOSET1 = (1 ‹‹ 18))  //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ
#define LOW_DB13      (IOCLR1 = (1 ‹‹ 18))  //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ

#define HIGH_DB14     (IOSET1 = (1 ‹‹ 19))  //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ
#define LOW_DB14      (IOCLR1 = (1 ‹‹ 19))  //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ

#define HIGH_DB15     (IOSET1 = (1 ‹‹ 20))  //УСТАНАВЛИВАЕМ ВЫСОКИЙ УРОВЕНЬ DB15
#define LOW_DB15      (IOCLR1 = (1 ‹‹ 20))  //УСТАНАВЛИВАЕМ НИЗКИЙ  УРОВЕНЬ DB15 
Uragan90 вне форума  
Непрочитано 16.06.2010, 19:54  
Uragan90
Почётный гражданин KAZUS.RU
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Забыл ещё направление порта настроить... Надо наверно ещё по одной записи к пину добавить типа FIO1DIR=0x00000001...,?
Uragan90 вне форума  
Непрочитано 16.06.2010, 19:58  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Сообщение от Uragan90 Посмотреть сообщение
Вот так как нибудь?
Ну для шины данных это необязательно. Ее просто нужно подключать по порядку и выводить оптом, а не по отдельным выводам. Тем более что это в несколько раз быстрее.
kison вне форума  
Непрочитано 16.06.2010, 20:06  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Сообщение от Uragan90 Посмотреть сообщение
Надо наверно ещё по одной записи к пину добавить типа FIO1DIR=0x00000001...,?
И не мешайте в кучу FIO1DIR и IOSET1 = (1 ‹‹ 17)
Вообще если есть быстрые порты использовать IOSET1 нет никакого смысла.
kison вне форума  
Сказали "Спасибо" kison
Uragan90 (16.06.2010)
Непрочитано 16.06.2010, 20:11  
Uragan90
Почётный гражданин KAZUS.RU
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Это как оптом? Допустим надо 10, 5, 1 биты высокий уровень, а остальные по нулям?
Uragan90 вне форума  
Непрочитано 16.06.2010, 20:45  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Сообщение от Uragan90 Посмотреть сообщение
Это как оптом?
Есть аж три варианта.
Во первых замаскировать выводы которые не должны изменяться в FIOxMASK
Код:
uint32_t Value = 0x00AA5500;
FIO1MASK = 0xFF0000FF; // маска - изменяться будут только [23:8]
FIO1PIN = Value;
// вывели в порт значение, остальные выводы не изменили свое состояние
Можно через два вывода в FIOxSET и FIOxCLR
Код:
uint32_t Value = 0x00AA5500;
FIO1SET = Value;
FIO1CLR = (~Value)& 0x00FFFF00;
И третий
Код:
uint32_t Value = 0x00AA5500;
FIO1PIN = (FIO1SET & 0xFF0000FF)|Value;
В данном конкретном случае самый удобный - второй.
kison вне форума  
Сказали "Спасибо" kison
Uragan90 (16.06.2010)
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плата LPC2368 Uragan90 Микроконтроллеры, АЦП, память и т.д 170 13.04.2010 13:03
библиотека HC12 для Proteus Fenolftalein Proteus, KiCAD и другие ECAD 0 12.01.2010 10:47


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


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