Ещё одна неадекватность с этим экраном, моя или нет пока не понятно. Изначально закупили 2 шт, с текущим кодом признаки жизни подаёт только один экран. Но оба реагируют на "неправильную" команду SYSTEM_SET(без паузы перед передачей параметров), полосами по всей длине экрана.
На "живом" экране после записи в память какого-либо символа, он размножается по вертикали до конца видимой области. При заполнении первой строки заполняется весь экран. Документация на S1D13700 претендует на полноту, но ответов не даёт. Если у кого-нибудь есть положительный опыт работы с девайсом PG320240, или S1D13700 непосредственно, буду очень признателен за помощь.
Текущая условно-рабочая конфигурация такова:
Код
dispSYSTEM_SET(0,// M0
0, // M1
0, // M2
0, // WS
1, // IV
7, // FX
1, // WF
7, // FY
40, // CR
127, // TCR
240, // LF
50, // APL
0); // APH
//SCROLL
dispSCROLL( 0x0000, // SAD1
0xF0, // SL1
0x2000, // SAD2
0xF0, // SL2
0x0000, // SAD3
0x0000); // SAD4
//CSRDIR_RIGHT
cmdwrite(paramcmd, 0, CSRDIR_RIGHT);
//CSR FROM
paramcmd[0] = 0x04; //CRX
paramcmd[1] = 0x86; //CX CRY
cmdwrite(paramcmd, 2, CSRFORM);
//HDOT SCR
paramcmd[0] = 0x00;
cmdwrite(paramcmd, 1, HDOT_SCR);
//OVLAY
paramcmd[0] = 0x00;
cmdwrite(paramcmd, 1, OVLAY);
SetMem(0x0000, '_', 1200);
SetMem(0x2000, 0x00, 9600);
displON(0x16);
//CSRW
paramcmd[0] = 0x00;
paramcmd[1] = 0x00;
cmdwrite(paramcmd, 2, CSRW);
//SetCursorPOsition(0, 0);
//MWRITE
paramcmd[0] = '*';
paramcmd[1] = 'a';
paramcmd[2] = 'b';
paramcmd[3] = 'c';
paramcmd[4] = 'd';
paramcmd[5] = 'e';
cmdwrite(paramcmd, 6, MWRITE);
В результате выполнения вместо шести символов только в первой строке, эти шесть символов появляются в начале каждой строки до конца видимой области
Сообщение отредактировал LiloQQ - May 14 2010, 06:26