Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
12.11.2010, 10:45
|
|
Прописка
Регистрация: 29.11.2007
Адрес: Могилев. РБ.
Сообщений: 143
Сказал спасибо: 30
Сказали Спасибо 20 раз(а) в 20 сообщении(ях)
|
Re: Библиотека SSD1289
и обязательно пробежитесь по всем настройкам проекта (линкера, загрузчика и тд...) одна галочка или забытый 0-ик в адресе - может испортить жизнь конкретно.
|
|
|
Сказали "Спасибо" Cyber_RAT
|
|
|
12.11.2010, 14:51
|
|
Прописка
Регистрация: 11.07.2007
Сообщений: 127
Сказал спасибо: 8
Сказали Спасибо 24 раз(а) в 18 сообщении(ях)
|
Re: Библиотека SSD1289
Паузы в инициализации нужно увеличить на всякий случай,от них тоже может не запускаться
|
|
|
|
12.11.2010, 18:23
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Библиотека SSD1289
yarunt, Извените а как так получилось что в LCD3 проекте что вы выложили:
void PortInit(void)
{
SCS = 1;
FIO1DIR = 0xFFFFC700;
Вот в этом месте отсудствует опредиление- FIO1SET???
}
void WrCmd(unsigned char cmd) //для 16 битной шины
{
FIO1CLR = CS;
FIO1CLR = RS;
FIO1CLR |= 0xFFFF0000;
FIO1SET = (long)(cmd‹‹16);
FIO1CLR = WR;
FIO1SET = WR;
FIO1SET = CS;
}
void WrDat(unsigned short data) //для 16 битной шины
{
FIO1CLR = CS;
FIO1SET = RS;
FIO1CLR = 0xFFFF0000;
FIO1SET = (long)(data‹‹16);
FIO1CLR = WR;
FIO1SET = WR;
FIO1SET = CS;
}
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
12.11.2010, 18:31
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Библиотека SSD1289
Вот написал так и в маин добавил мигание на другом порте! МИГАЕТ!!! Порты на котором висит дисплей тоже "хаотично" звенят!, а экран "питла", не работает ![Шокирован](images/smilies/icon_eek.gif) У меня весь тест построен на заливке дисплея по переменно: Красным и зеленым! Че ему надо то?
PHP код:
|
#include ‹LPC23xx.H›
#define CS (1‹‹15)
#define RS (1‹‹14)
#define RD (1‹‹10)
#define WR (1‹‹9)
#define RES (1‹‹8)
#define BLACK 0x0000
#define WHITE 0xFFFF
#define GREEN 0x07E0
#define BLUE 0x001F
#define RED 0xF800
unsigned long temp_delay_ms = 0x00000000;
void delay_ms (unsigned long ms);
void PortInit(void);
void WrCmd(unsigned char cmd);
void WrDat(unsigned short data);
void SetReg(unsigned char index, unsigned short value);
void LcdInit(void);
void SetAddress(unsigned short addr1, unsigned char addr0);
void FillScreen(unsigned short color);
void delay_ms (unsigned long ms)
{
ms=ms*210;
for (temp_delay_ms=0;temp_delay_ms‹ms;temp_delay_ms++)
{
__asm {
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
}
}
}
void FillScreen(unsigned short color)
{
long counter;
SetAddress(0,0);
for(counter=0; counter‹(320*240); counter++)
{
WrDat(color);
}
}
int main()
{
SCS = 1;
PortInit();
LcdInit();
delay_ms(50);
FIO0DIR = 0x00000001;
for (;;)
{
FillScreen(GREEN);
delay_ms(1000);
FIO0CLR = 0x00000001;
delay_ms(100);
FIO0SET = 0x00000001;
delay_ms(100);
FillScreen(RED);
delay_ms(1000);
}
}
void PortInit(void)
{
SCS = 1;
FIO1DIR = 0xFFFFC700;
}
void WrCmd(unsigned char cmd) //для 16 битной шины
{
FIO1CLR = CS;
FIO1CLR = RS;
FIO1CLR |= 0xFFFF0000;
FIO1SET = (long)(cmd‹‹16);
FIO1CLR = WR;
FIO1SET = WR;
FIO1SET = CS;
}
void WrDat(unsigned short data) //для 16 битной шины
{
FIO1CLR = CS;
FIO1SET = RS;
FIO1CLR = 0xFFFF0000;
FIO1SET = (long)(data‹‹16);
FIO1CLR = WR;
FIO1SET = WR;
FIO1SET = CS;
}
void SetReg(unsigned char index, unsigned short value)
{
WrCmd(index);
WrDat(value);
}
void LcdInit(void)
{
PortInit();
FIO1CLR = RES;
delay_ms(10);
FIO1SET = RES;
SetReg(0x00,0x0001);
delay_ms(10);
SetReg(0x07,0x0000); //display control(1)
delay_ms(10);
/*** Display Setting ***/
SetReg(0x01, 0x6B3f); //Driver output control (1) 233f
SetReg(0x02, 0x0600); //LCD driving control
SetReg(0x03, 0xA8A6); //Entry mode
/*** Power Control ***/
SetReg(0x07, 0x0033);
SetReg(0x11, 0x6838);
SetReg(0x0C, 0x0005);
SetReg(0x0D, 0x300B);
SetReg(0x0E, 0x2000);
SetReg(0x10, 0x0000);
SetReg(0x1E, 0x00A8);
delay_ms(20);
}
void SetAddress(unsigned short addr1, unsigned char addr0)
{
WrCmd(0x4E);
WrDat(addr0);
WrCmd(0x4f);
WrDat(addr1);
WrCmd(0x22);
}
|
|
|
|
|
12.11.2010, 18:35
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Библиотека SSD1289
Неплохо иметь задержку миллисекунд на 200 ДО функции LcdInit.
|
|
|
|
12.11.2010, 18:44
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Библиотека SSD1289
yarunt,
И почему отсудствует RD????
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
12.11.2010, 18:47
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Библиотека SSD1289
Сообщение от Uragan90
|
И почему отсудствует RD????
|
Ну так надо дописать в функцию инициализации портов FIO1SET = 0xFFFFFFFF и делов то.
|
|
|
|
12.11.2010, 18:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Библиотека SSD1289
Сообщение от kison
|
Ну так надо дописать в функцию инициализации портов FIO1SET = 0xFFFFFFFF и делов то.
|
Попробую, но не уверен!
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
12.11.2010, 18:59
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Библиотека SSD1289
FIO1SET = 0xFFFFFFFF установит все выводы порта, которые настроены на выход, в 1. И RD в том числе. Можно значение набрать как (0xFFFF‹‹16)|RD|RES|WR|CS|RS. Для проверки дисплея это одинаково подойдет.
|
|
|
|
12.11.2010, 19:07
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Библиотека SSD1289
Не канает! Еще у меня весь тест построен на переключении цвета (зеленый-красный) может я просто его не вижу по каким то пичинам??? (Я не слеп)- это для справки!!!
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:21.
|
|