|
|
  |
AVR и Siemens M55 |
|
|
|
Apr 23 2009, 11:08
|
Частый гость
 
Группа: Свой
Сообщений: 162
Регистрация: 7-12-07
Из: Могилев
Пользователь №: 33 064

|
на какие ноги меги подключены выводы индикатора? дайте схему чтобы не гадать, а то были люди, которые считали, что аппаратный spi будет с любой ноги меги работать  и для исходника тег CODE используйте - читабельнее будет а ругается у вас на ОЗУ а не Flash... ОЗУ у atmega8 1 кб
|
|
|
|
|
Apr 26 2009, 03:06
|
Группа: Участник
Сообщений: 6
Регистрация: 21-04-09
Пользователь №: 48 025

|
Проблему сОЗУ победил сохранением констант во флеш. Исправил начальную инициализацию PORTB и D, зацикливание ушло) Экран ничего не показывает. Ощущение, что инициализация не прошла, т.к. нет мусора. Код /* PB5 MOSI - LCD_DAT PB7 SCK - LCD_CLK PB4 ~SS - LCD_CS PD4 OC1B - LCD_RESET PD7 OC2 - LCD_RS */
// Port B initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=In Func2=In Func1=In Func0=In // State7=0 State6=0 State5=0 State4=0 State3=T State2=T State1=T State0=T PORTB=0x00; DDRB=0xF0;
// Port D initialization // Func7=Out Func6=In Func5=In Func4=Out Func3=In Func2=In Func1=In Func0=In // State7=0 State6=T State5=T State4=0 State3=T State2=T State1=T State0=T PORTD=0x00; DDRD=0x90;
// SPI initialization // SPI Type: Master // SPI Clock Rate: 3579,545 kHz // SPI Clock Phase: Cycle Half // SPI Clock Polarity: Low // SPI Data Order: MSB First SPCR=0x50; SPSR=0x00; Может надо как-то ещё включить SPI, типа фьюзы какие нибудь? Какузнать, что SPI правильно работает?
|
|
|
|
|
Apr 26 2009, 20:06
|
Группа: Новичок
Сообщений: 1
Регистрация: 2-04-09
Пользователь №: 47 067

|
Поосторожнее надо с контроллером, у меня вот так скис LS020. Из-за случайно пропущенной инструкции в контроллер писалась всякая чушь и как результат похоже сдох бустер, а возможно ещё что-то. Теперь инициализируется в 8-битном режиме, белый фон вместо чёрного и прочие радости жизни
|
|
|
|
|
Apr 29 2009, 12:42
|
Группа: Участник
Сообщений: 6
Регистрация: 21-04-09
Пользователь №: 48 025

|
разобрался. косяк был с ресетом. всё бы хорошо, только вот медленно уж очень.
Хочу заметить, что все телефоны работают совершенно одинаково со всеми тремя типами дисплеев. Я с ними полтора года работал и не было такого, что при замене одного на другой приходилось их подшивать как-то.
|
|
|
|
|
May 1 2009, 18:25
|

Участник

Группа: Участник
Сообщений: 61
Регистрация: 26-04-08
Из: BY/MN
Пользователь №: 37 111

|
В случае с телефоном S65 обратная связь теоретически есть. У разных экранов имеются резисторы между некоторыми контактами, так что процессор телефона может определять тип экрана и использовать соответствующий протокол. Т.е. прошивка может быть "универсальной". У меня есть все 3 типа дисплея. У LS020 резистор 100кОм между 1-м и 3-м падом, и по 100кОм между 4-м и 7-м падом и между 5-м и 7-м падом, что видно и в даташите. У L2F50 есть резистор 100кОм между 7-м и 1-м, 7-м и 3-м, 7-м и 4-м, 7-м и 5-м падами. У LPH88 подобных резисторов не наблюдается. В принципе, держа дисплей в ресете и подавая некоторые сигналы на некоторые пады нетрудно выяснить, что за дисплей физически подключён к телефону благодоря этим резисторам. Такую проверку, я думаю, можно сделать и на ATmega, правда расточительно будет хранить все три библиотеки в памяти.
|
|
|
|
|
May 1 2009, 18:48
|

Участник

Группа: Участник
Сообщений: 61
Регистрация: 26-04-08
Из: BY/MN
Пользователь №: 37 111

|
Цитата(sasamy @ May 1 2009, 21:45)  Так я об этом и говорю - телефон все равно как то определяет тип дисплея и использует соответтсвующий протокол - это могут быть различные сочетания логических нолей и единиц на определенных группах контактов при подключении питания например. Надо бы как-нибудь попробовать сделать это определение на меге  . Кстати, только L2F50 использует 8-й контакт (1.8V), без которого дисплей не работает, а в двух остальных его подключать необязательно.
Сообщение отредактировал Juras Pr. - May 1 2009, 18:53
|
|
|
|
|
May 2 2009, 14:26
|
Гуру
     
Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164

|
Господа, не осилю все 64 страницы... Кто-нибудь может выложить код загрузки картинки для CodeVision? Имеется ввиду картинка зашифрованная в коде типа "const unsigned int array[23232] = { 0xB596, 0xB596, 0xB596, 0xB596, 0xADB6, 0xADB6, 0xADB6, 0xADB6, \"
|
|
|
|
|
May 2 2009, 23:51
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 11-03-09
Пользователь №: 45 975

|
Цитата Обратной связи там тоже нет, по крайней мере не на всех можно читать с контроллера и я не встречал что кто-то читал с них идентификаторы. Есть команда по которой контроллер дисплея выдает свой ID. Проги типа Джокера этот ID успешно считывают.
|
|
|
|
|
May 3 2009, 18:17
|
Группа: Участник
Сообщений: 13
Регистрация: 3-05-09
Пользователь №: 48 574

|
Имеется дисплей LPH88 (Siemens CX65) на мега16 инициализировал нормально. Подключил к АТ91SAM7S32 не удаётся запустить  в архиве исходник может подскажетев чом ошибка ?
|
|
|
|
|
May 3 2009, 21:02
|

Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 28-07-07
Из: Кишинев
Пользователь №: 29 434

|
Цитата(Doniak @ May 3 2009, 21:17)  Имеется дисплей LPH88 (Siemens CX65) на мега16 инициализировал нормально. Подключил к АТ91SAM7S32 не удаётся запустить  в архиве исходник может подскажетев чом ошибка ? Не разбирался. Но здесь мой код для АТ91SAM7S64 под дисплей LPH88 (IAR 5.2). Может поможет. Схема у меня на сайте.
Hard_Init_LPH.rar ( 2.72 килобайт )
Кол-во скачиваний: 294
|
|
|
|
|
  |
5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0
|
|
|