Babulesnik писал(а):
Если удаляю скобку,вылазит куча ошибок
Скобку надо удалить. А что пишет в ошибках?
Babulesnik писал(а):
Если удаляю скобку,вылазит куча ошибок
Babulesnik писал(а):Профи,помогите пожалуйста,извелся весь.
R_ura писал(а):Babulesnik писал(а):Профи,помогите пожалуйста,извелся весь.
Какой у тебя компилятор-то??
Babulesnik писал(а):Есть идеи с чем это может быть связано? Интересуют любые зацепки
R_ura писал(а):Babulesnik писал(а):Есть идеи с чем это может быть связано? Интересуют любые зацепки
А схему нельзя посмотреть?
Вот выложил здесь проект протеуса +прошивка. Посмотри как ЖКИ подключен правильно. Можешь там же убедится, что работает нормально. Там таже бибилотека для ЖКИ, что скидывал тебе выше.
Babulesnik писал(а):
Спасибо,только я не вижу прикрепленных файлов или ссылки.
Babulesnik писал(а):Спасибо большое буду юзать.У меня только 8 и 88 меги + 3 винстаровских ЖКИ(16х2).
Код: Выделить всё
WriteLow4bits( 0x03 );
WriteStrobe( 40 ); // -> 0x03
WriteStrobe( 40 ); // -> 0x03
WriteLow4bits( 0x02 );
WriteStrobe( 40 ); // -> 0x02
WriteStrobe( 40 ); // -> 0x02
WriteLow4bits( 0x2C );
WriteStrobe( 40 ); // -> 0x0C
WriteData( TYPE_COMMAND, 0x06 ); // 1, I/D, SH
Clear(); // -> 0x01
WriteData( TYPE_COMMAND, 0x0C ); // 1, D, C, B
Home(); // -> 0x02
Код: Выделить всё
FLASHSTR_DECLARE( char, frmDisplay,
"Дисплей \n"
" " );
Код: Выделить всё
CLCD::Clear();
CLCD::Home();
CLCD::WriteString( frmDisplay, 0 ,0 );
FormPaint();
// Отображаем пользовательские символы
CLCD::Goto( 1, 0 );
for ( uint8_t i = 0; i < 8; i++ ) CLCD::PutChar(i);
Код: Выделить всё
/* +----------+
|Таблица символов|
|Windows (ANSI) |
+----------+ +----------+
|0123456789ABCDEF| |0123456789ABCDEF|
+----------+ +----------+
0x00 |( пропущено ) | 0x80 |( пропущено ) |
0x10 |( пропущено ) | 0x90 |( пропущено ) |
0x20 | !"#$%&'()*+,-./| 0xA0 |( пропущено ) |
0x30 |0123456789:;<=>?| 0xB0 |( пропущено ) |
0x40 |@ABCDEFGHIJKLMNO| 0xC0 |АБВГДЕЖЗИЙКЛМНОП|
0x50 |PQRSTUVWXYZ[\]^_| 0xD0 |РСТУФХЦЧШЩЪЫЬЭЮЯ|
0x60 |`abcdefghijklmno| 0xE0 |абвгдежзийклмноп|
0x70 |pqrstuvwxyz{|}~ | 0xF0 |рстуфхцчшщъыьэюя|
+----------+ +----------+
*/
// Таблица перекодировки из CP1251 (WIN)
#ifdef __ICCAVR__
__flash uint8_t CP1251_TO_CPHD44780[ 256 ] = {
#elif defined __GNUC__
PROGMEM uint8_t _CP1251_TO_CPHD44780[ 256 ] = {
#endif
//PROGMEM unsigned char CP1251_TO_CPHD44780[ 256 ] = {
/* +----------+
| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | */
/* CGRAM: (1) (2) (3) (4) (5) (6) (7) (8) (1) (2) (3) (4) (5) (6) (7) (8) */
/* 0x00 */ 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08 , 0x09 , 0x0A , 0x0B , 0x0C , 0x0D , 0x0E , 0x0F , //
/* 0x10 */ 0x10 , 0x11 , 0x12 , 0x13 , 0x14 , 0x15 , 0x16 , 0x17 , 0x18 , 0x19 , 0x1A , 0x1B , 0x1C , 0x1D , 0x1E , 0x1F , //
/* 0x20 */ 0x20 , 0x21 , 0x22 , 0x23 , 0x24 , 0x25 , 0x26 , 0x27 , 0x28 , 0x29 , 0x2A , 0x2B , 0x2C , 0x2D , 0x2E , 0x2F , //
/* 0x30 */ 0x30 , 0x31 , 0x32 , 0x33 , 0x34 , 0x35 , 0x36 , 0x37 , 0x38 , 0x39 , 0x3A , 0x3B , 0x3C , 0x3D , 0x3E , 0x3F , //
/* 0x40 */ 0x40 , 0x41 , 0x42 , 0x43 , 0x44 , 0x45 , 0x46 , 0x47 , 0x48 , 0x49 , 0x4A , 0x4B , 0x4C , 0x4D , 0x4E , 0x4F , //
/* 0x50 */ 0x50 , 0x51 , 0x52 , 0x53 , 0x54 , 0x55 , 0x56 , 0x57 , 0x58 , 0x59 , 0x5A , 0x5B , 0x20 , 0x5D , 0x5E , 0x5F , //
/* 0x60 */ 0x60 , 0x61 , 0x62 , 0x63 , 0x64 , 0x65 , 0x66 , 0x67 , 0x68 , 0x69 , 0x6A , 0x6B , 0x6C , 0x6D , 0x6E , 0x6F , //
/* 0x70 */ 0x70 , 0x71 , 0x72 , 0x73 , 0x74 , 0x75 , 0x76 , 0x77 , 0x78 , 0x79 , 0x7A , 0x5B , 0x20 , 0x5D , 0xE9 , 0x7F , //
/*| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | */
/* 0x80 */ 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , //
/* 0x90 */ 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , //
/* 0xA0 */ 0xCB , 0x20 , 0x49 , 0x69 , 0x04 , 0x20 , 0xFE , 0xEF , 0xA2 , 0xCC , 0x00 , 0xC9 , 0x20 , 0x20 , 0x20 , 0x02 , //
/* 0xB0 */ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xB5 , 0x4E , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , //
/* 0xC0 */ 0x41 , 0xA0 , 0x42 , 0xA1 , 0xE0 , 0x45 , 0xA3 , 0xA4 , 0xA5 , 0xA6 , 0x4B , 0xA7 , 0x4D , 0x48 , 0x4F , 0xA8 , //
/* 0xD0 */ 0x50 , 0x43 , 0x54 , 0xA9 , 0xAA , 0x58 , 0xE1 , 0xAB , 0xAC , 0xE2 , 0xAD , 0xAE , 0x62 , 0xAF , 0xB0 , 0xB1 , //
/* 0xE0 */ 0x61 , 0xB2 , 0xB3 , 0xB4 , 0xE3 , 0x65 , 0xB6 , 0xB7 , 0xB8 , 0xB9 , 0xBA , 0xBB , 0xBC , 0xBD , 0x6F , 0xBE , //
/* 0xF0 */ 0x70 , 0x63 , 0xBF , 0x79 , 0xE4 , 0x78 , 0xE5 , 0xC0 , 0xC1 , 0xE6 , 0xC2 , 0xC3 , 0xC4 , 0xC5 , 0xC6 , 0xC7 , //
/* | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F |
+----------+ */
};
#ifdef __GNUC__
FU08T_PTR CP1251_TO_CPHD44780(_CP1251_TO_CPHD44780);
#endif
Mr.Denis писал(а):Подскажите пожалуйста распиловкуЖКИ LCM1602K-FSW-GBW-R,
Код: Выделить всё
...Код: Выделить всё
...Код: Выделить всё
void lcd_puts(char *s, char clr)
{
if(clr) LCDClear();
LCDxy(0,0);
printf(s);
}
phanis писал(а):А нельзя сделать так чтоб препроцессор перекодировал символы кириллицы.?
Пишешь например по русски а препроцессор подставляет вместо этого нужные коды из таблицы.
проблема явно высосана из пальца: на 2 строки в 16 знаков выводить что-то принятое по USART - это из разряда задач "от нечего делать". в этом случае можно и внутреннюю перекодировку реализовать, раз делать нечего. а в реальности вывод на дисплей ведется ИЗНУТРИ МК, и статические строки нужнее и востребованнее.uni писал(а):Как правило это не имеет смысла делать. Как в этом случае, к примеру, выводить строки текста, полученные по USART?