Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
11.11.2010, 19:55
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Библиотека SSD1289
Пробывал упростить так:
Код:
|
#include ‹LPC23xx.H›
#define FCPU 10000000
#define BLACK 0x0000
#define WHITE 0xFFFF
#define GREEN 0x07E0
#define BLUE 0x001F
#define RED 0xF800
#define CS (1‹‹15)
#define RS (1‹‹14)
#define RD (1‹‹10)
#define WR (1‹‹9)
#define RES (1‹‹8)
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
typedef unsigned int BOOL;
void delay_ms(unsigned int ms);
void PortInit(void);
void WrCmd(BYTE cmd);
void WrDat(WORD data);
void SetReg(BYTE index, WORD value);
void LcdInit(void);
void SetAddress(WORD addr1, BYTE addr0);
void FillScreen(WORD color);
void delay_ms(unsigned int ms)
{
unsigned long tmp = (FCPU / 4500)*ms;
while(tmp--);
}
void PortInit(void)
{
SCS = 1;
FIO1DIR = 0xFFFFC700;
}
void WrCmd(BYTE cmd) //для 16 битной шины
{
FIO1CLR = CS;
FIO1CLR = RS;
FIO1CLR |= 0xFFFF0000;
FIO1SET = (long)(cmd‹‹16);
FIO1CLR = WR;
FIO1SET = WR;
FIO1SET = CS;
}
void WrDat(WORD data) //для 16 битной шины
{
FIO1CLR = CS;
FIO1SET = RS;
FIO1CLR = 0xFFFF0000;
FIO1SET = (long)(data‹‹16);
FIO1CLR = WR;
FIO1SET = WR;
FIO1SET = CS;
}
void SetReg(BYTE index, WORD 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(WORD addr1, BYTE addr0)
{
WrCmd(0x4E);
WrDat(addr0);
WrCmd(0x4f);
WrDat(addr1);
WrCmd(0x22);
}
void FillScreen(WORD color)
{
long counter;
SetAddress(0,0);
for(counter=0; counter‹(320*240); counter++)
{
WrDat(color);
}
}
int main(void) //Тест
{
LcdInit();
delay_ms(100);
for(;;)
{
FillScreen(0xF800);
}
} |
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
11.11.2010, 19:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Библиотека SSD1289
Сообщение от kison
|
Можно продолжать гадать, а можно проект выложить.
|
Да к ведь уже выкладовали сколько раз ПОСТ: №24
__________________
Я бы изменил весь мир, но бог не дал исходников
Последний раз редактировалось Uragan90; 11.11.2010 в 20:01.
|
|
|
|
11.11.2010, 20:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Библиотека SSD1289
Для начала в функции задержки переменную нужно объявить с квалификатором volatile. Уже надоедает как дятлу повторять одно и то же. Сейчас задержки не будет если включена оптимизация. А отключать ее нет никакого смысла.
Откуда цифра 10000000 для F_CPU? В проекте со светодиодом был кварц и PLL.
|
|
|
|
11.11.2010, 20:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Библиотека SSD1289
Сообщение от kison
|
Уже надоедает как дятлу повторять одно и то же
|
Пост№ 24!!! Там проект!!!!!! Светик мигал на внутреннем генераторе!
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
11.11.2010, 20:41
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Библиотека SSD1289
Сообщение от Uragan90
|
Светик мигал на внутреннем генераторе!
|
Ну так и индикатор надо на внутреннем запускать. А тогда откуда F_CPU 10000000?
Впрочем испортить что либо это не может.
|
|
|
|
11.11.2010, 20:48
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Библиотека SSD1289
Сообщение от kison
|
Ну так и индикатор надо на внутреннем запускать. А тогда откуда F_CPU 10000000?
Впрочем испортить что либо это не может.
|
Так вот пробую! Думаю в майн ввести функцию мигания чтоб попутно и светик для контроля!
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
11.11.2010, 21:24
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Библиотека SSD1289
Вобщем у меня с настройками стартапа чегото не то!!! Создаю свой проект мигалки не мигает не на внутреннем не на внешнем генераторе! Беру чужой проект из темы "запуск на коленке", изменяю его на порт нужный мне... И все прет как часы!!!!!
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
12.11.2010, 00:32
|
|
Прописка
Регистрация: 11.07.2007
Сообщений: 127
Сказал спасибо: 8
Сказали Спасибо 24 раз(а) в 18 сообщении(ях)
|
Re: Библиотека SSD1289
Сообщение от Uragan90
|
Вобщем у меня с настройками стартапа чегото не то!!! Создаю свой проект мигалки не мигает не на внутреннем не на внешнем генераторе! Беру чужой проект из темы "запуск на коленке", изменяю его на порт нужный мне... И все прет как часы!!!!!
|
Ну так ,подмените стартап в папке с проектом.
|
|
|
|
12.11.2010, 08:38
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Библиотека SSD1289
Подмена стартапа тоже не решила проблему... Чтото в том проекте мигания (из соседней ветки) есть такое чего нет в моих проектах?
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
12.11.2010, 10:14
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Библиотека SSD1289
Ну так и возьмите проект из соседней ветки да поменяйте исходник на свой.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:10.
|
|