реклама на сайте
подробности

 
 
> трудности с PG320240WRF на S1D13700
LiloQQ
сообщение May 12 2010, 09:07
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 15-09-08
Пользователь №: 40 218



Доброго дня!

Топчусь на граблях, но в упор не вижу проблемы, прошу совета. Не получается оживить LCD(PG320240WRF). Выполнение практически любой команды после SCROLL приводит к появлению горизонтальных линий на всю длинну экрана. Косяк наверняка характерный, сомневаюсь в порядке и правильности инициализации.

Инициализацию провожу так:
Код
Reset, CS, RD, WR - устанавливаем в единицу
Ждем около 0,5 секунд

SYSTEM_SET
    1: 0х30            // установленны только IV, и 4-й, W/S=0
    2: 0x87            // FX=3,
    3: 0x07            // FY=8,
    4: 0x27            // C/R = 39
    5: 0x2F            // TC/R = 47
    6: 0xEF            // L/F = 239
    7: 0x28            // APL = 40
    8: 0x00

SCROLL
    1: 0х00            //SAD1 = 0x00;    
    2: 0x00            
    3: 0xEF            //SL1 = 239
    4: 0xB0            //SAD2 = 1200
    5: 0x04            
    6: 0xEF            //SL2 = 239
    7: 0x00            //SAD3 = 0x00 ?????????
    8: 0x00
    9: 0x00            //SAD4 ???????????
    10: 0x00    

OVLAY
    0x00            // simple overlay

CSRFORM
    1: 0х04            
    2: 0x86
DISPON
    0x16            // FC0 = 0
                // FC1 = 1
                // FP0 = 1
                // FP1 = 0
                // FP2 = 1
                // FP3 = 0
                // FP4 = 0
                // FP5 = 0


Далее пробую вывести символы с MWRITE по адресам начиная с 0x00 но ничего не получается
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MSprut
сообщение May 20 2010, 06:16
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 225
Регистрация: 25-04-06
Из: Украина, Луганск
Пользователь №: 16 476



Приведите пожалуйста исходный код служебных функций, в частности cmdwrite.
Go to the top of the page
 
+Quote Post
LiloQQ
сообщение May 20 2010, 07:02
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 15-09-08
Пользователь №: 40 218



Цитата(MSprut @ May 20 2010, 10:16) *
Приведите пожалуйста исходный код служебных функций, в частности cmdwrite.


Доброго дня! Вот такая картина:

Код
#define SetA0 set_bit(PORTG, PORTG2)
#define ClearA0 clear_bit(PORTG, PORTG2)

#define SetRD set_bit(PORTG, PORTG1)
#define ClearRD clear_bit(PORTG, PORTG1)

#define SetWR set_bit(PORTG, PORTG0)
#define ClearWR clear_bit(PORTG, PORTG0)

#define NotRESET set_bit(PORTG, PORTG3)
#define EnableRESET clear_bit(PORTG, PORTG3)

#define ComandA0 set_bit(PORTG, PORTG2)
#define DataA0 clear_bit(PORTG, PORTG2)

#define SetCS set_bit(PORTH, PORTH4)
#define ClearCS clear_bit(PORTH, PORTH4)

#define DELAY_WR_RD asm volatile ("nop\n\t" \
                 "nop\n\t" \
                "nop\n\t" \
                "nop\n\t" \
                "nop\n\t" \
                "nop\n\t" \
                "nop\n\t" \
                "nop\n\t" \
                "nop\n\t" \
                "nop\n\t" \
                ::);



void sendByte(tByte in)
{
    DispPort = in;
    
    ClearCS;
    DELAY1;
    
    ClearWR;    
    DELAY_WR_RD;
    SetWR;
    
    SetCS;
}

void sendCMD(tByte in)
{
    ComandA0;
    sendByte(in);
}

void paramwrite(tByte *p, tByte length)
{
    for(tByte i = 0; i < length; i++)
    {
        sendByte(p[i]);
        DELAY_WR_RD;
    }
}

void cmdwrite(tByte *p, tByte length, tByte cmd)
{
    sendCMD(cmd);
    DataA0;

    for(tInt j = 0; j < 500; j++)
    {
        DELAY_WR_RD;
    }

    paramwrite(p, length);
    DELAY_WR_RD;
}


Забыл отметить ещё одну особенность. Считывать озу контроллера получается, и в результате считывания области памяти в которую производилась запись получаются адекватные результаты. Т.е. к примеру пишем в память "hello" на экране вначале КАЖДОЙ строки символы "hello", а содержимое памяти соответствует действительности, т.е. "hello" записано только в первые 5 байт

Сообщение отредактировал LiloQQ - May 20 2010, 07:11
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 18:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01376 секунд с 7
ELECTRONIX ©2004-2016