Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

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

 
Опции темы

Библиотека LS020+LPC2368

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

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

Сообщение от Uragan90 Посмотреть сообщение
А зачем 12 регистров гаммы? Зачем так много не в курсе?
Это для ч/б изображения в основном. Ну и для точной цветопередачи. Можно сильно с этим не заморачиваться, а брать рекомендуемые значения (типовые).
kison вне форума  
Непрочитано 16.06.2010, 18:07  
Uragan90
Почётный гражданин KAZUS.RUN
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,895
Сказал спасибо: 469
Сказали Спасибо 407 раз(а) в 254 сообщении(ях)
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.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Сообщение от Uragan90 Посмотреть сообщение
Так??
Да. Начинать однозначно с настройки выводов. Иначе управлять индикатором будет нечем.
kison вне форума  
Непрочитано 16.06.2010, 18:59  
Uragan90
Почётный гражданин KAZUS.RUN
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,895
Сказал спасибо: 469
Сказали Спасибо 407 раз(а) в 254 сообщении(ях)
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.RUN
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,895
Сказал спасибо: 469
Сказали Спасибо 407 раз(а) в 254 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

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

Сообщение от Uragan90 Посмотреть сообщение
Вот так как нибудь?
Ну для шины данных это необязательно. Ее просто нужно подключать по порядку и выводить оптом, а не по отдельным выводам. Тем более что это в несколько раз быстрее.
kison вне форума  
Непрочитано 16.06.2010, 20:06  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
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.RUN
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,895
Сказал спасибо: 469
Сказали Спасибо 407 раз(а) в 254 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Это как оптом? Допустим надо 10, 5, 1 биты высокий уровень, а остальные по нулям?
Uragan90 вне форума  
Непрочитано 16.06.2010, 20:45  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
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, время: 06:13.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.