roboforum.ru

Технический форум по робототехнике.

MT16S2d ремонт и отображение русских букв

avr123.nm.ru » 29 апр 2007, 18:09

Myp писал(а):эх блин ну что такое всё сам, всё сам  а  где же всё готовенькое? :(


Наверно по ссылке "онэмбединг"  - обычно строки готовят заранее и хранят в памяти программ.

Myp » 29 апр 2007, 18:24

avr123.nm.ru писал(а):
Myp писал(а):эх блин ну что такое всё сам, всё сам  а  где же всё готовенькое? :(


Наверно по ссылке "онэмбединг"  - обычно строки готовят заранее и хранят в памяти программ.


мммм
ну это конечно клёво
но чтоб по уарту передавать текст не катит...

вобщем  буду сам писать процедуру замены символов =/

Myp » 29 апр 2007, 18:35

ещё непонятно

lcd_putsf("\9");  
на экран выведет чёрный квадратик

Johnny Bravo » 29 апр 2007, 21:49

Мож я конечно и темку невнимательно читал, но в мелтовских дисплеях перекодировать ничего не надо, просто подключить вторую кодовую стр. (моно в соде вижн подправить инициализацию), а потом lcd_putsf("Выводи чего хош\xB0");

Myp » 29 апр 2007, 21:51

Johnny Bravo писал(а):Мож я конечно и темку невнимательно читал, но в мелтовских дисплеях перекодировать ничего не надо, просто подключить вторую кодовую стр. (моно в соде вижн подправить инициализацию), а потом lcd_putsf("Выводи чего хош\xB0");


эмм
а подробней???

да правда
посмотрел кодовые страницы
если бы выводилась 2я кодовая страница то символы были бы те которые надо
а у меня выводятся символы из 1й кодовой страницы всякие кракозябры, но если посмотреть вторую кодувую страницу то на месте этих кракозябр стоят нужные мне  символы



расскажите как можно переключить кодовую страницу при инициализации???

Johnny Bravo » 29 апр 2007, 22:08

файло LCD.LIB
в инициализации

_lcd_write_data(0x28);

поправь на 2А (Проверь на случай по даташиту).

Myp » 29 апр 2007, 22:11

в даташите нифига нету про то как страница выставляется
есть процедура инициализации с таймингами и чё на ногах устанавливать
а  про кодовую страницу ни слова

Myp » 29 апр 2007, 22:13

ураааа
исправил всё работает

огромное спасибо избавили от гемороя :D

To: avr123
имхо стоит в курс добавить эту чрезвычайно важную информацию
про то что можно кодовые страницы менять
мало ли кто ещё будет дисплей такой распространённый подключать...
Последний раз редактировалось Myp 29 апр 2007, 22:23, всего редактировалось 1 раз.

Johnny Bravo » 29 апр 2007, 22:15

которря P
Вложения
page.gif
page.gif (6.12 КиБ) Просмотров: 1756

Myp » 29 апр 2007, 22:18

[off]аааа
ктож мог догадатся что P это page
:roll:

выделил себе в даташите красным цветом чтоб не  забыть=)[/off]
Последний раз редактировалось Myp 29 апр 2007, 22:23, всего редактировалось 2 раз(а).

Johnny Bravo » 29 апр 2007, 22:19

[off]блин, так напротив же сказали страница знакогенератора P[/off]
Последний раз редактировалось Johnny Bravo 29 апр 2007, 22:25, всего редактировалось 1 раз.

Myp » 29 апр 2007, 22:22

Johnny Bravo писал(а):[off]блин, так напротив же сказали страница знакогенератора P[/off]

[off]мну очень тупое :oops:[/off]

avr123.nm.ru » 29 апр 2007, 23:47

Myp писал(а):
To: avr123
имхо стоит в курс добавить эту чрезвычайно важную информацию
про то что можно кодовые страницы менять
мало ли кто ещё будет дисплей такой распространённый подключать...


Обязательно.

Master » 30 апр 2007, 00:09

Блин как обычно ура я все понял всем спасибо. А где исходник чтобы и другие могли понять?

Myp » 30 апр 2007, 00:18

Master писал(а):Блин как обычно ура я все понял всем спасибо. А где исходник чтобы и другие могли понять?

ну если слегка размыто выше объяснено то поясняю

у дисплейчика ентого есть 2 кодовые страницы
тоесть 2 разных набора предустановленных символов
при инициализации выбирается какой набор символов  будет использоваться
по умолчанию кодвижэном выбирается нулевая страница(хз зачем, у них там наверно так принято...)
но положение символов в ней  не совпадает с тем  что надо
и вместо русских букв выводятся те символы которые реально там записаны в кодовой странице

поэтому, чтоб нормально отображать русские символы
без перекодировок и всякой фигни нужно при инициализации дисплея выбрать первую кодовую страницу


для этого надо немного апгрейдить стандартный код инициализации дисплея
файло LCD.LIB (лежит в папке с установленным кодвижэном)
в инициализации (самая последняя процедура в конце файла)
_lcd_write_data(0x28); (строка установки кодовой страницы)
поправить на 0x2A (можно открыть даташит к дисплею и прочитать почему именно так).

вот это место в даташите
Изображение
Последний раз редактировалось Myp 30 апр 2007, 00:24, всего редактировалось 1 раз.


Rambler\'s Top100 Mail.ru counter