|
lcd powertip pg240128+atmega128 (portg), проблемы состыковки... |
|
|
|
Jan 13 2008, 08:10
|
Группа: Новичок
Сообщений: 8
Регистрация: 12-01-08
Пользователь №: 34 017

|
доброго времени суток!
проблема собственно в следующем:
есть атмега128 и ч\б экранчик, все бы ничего, но контрольная шина экрана повешена на PORTG контроллера. fuse m103c убрал, mcucr =0x00. Брал кучу готовых библиотек, но ни одна не заработала. Может есть люди кто занимался этим и помогут мне исходниками либы?
заранее спасибо
|
|
|
|
|
Jan 13 2008, 08:47
|
Группа: Новичок
Сообщений: 8
Регистрация: 12-01-08
Пользователь №: 34 017

|
у него toshiba t6963. буду благодарен за любую помощь)
|
|
|
|
|
Jan 14 2008, 02:08
|
Группа: Новичок
Сообщений: 8
Регистрация: 12-01-08
Пользователь №: 34 017

|
если бы знал что не работает написал бы более конкретно. Иницилищация выполняется, но вот результата я не вижу. Должен экран очистится, а у него высвечивается одна полоска (всегда в одном месте) и не исчезает. mcucr -- регистр управления portg в нем бит SRE (могу ошибится название точно не помню, он старший бит) должен быть нулем если нужно будет использовть portg как обычный порт ввода-вывода
|
|
|
|
|
Jan 14 2008, 14:29
|
Группа: Новичок
Сообщений: 8
Регистрация: 12-01-08
Пользователь №: 34 017

|
порт работает.тестером проверил. работает только если писать так portg |=(1<<0);
|
|
|
|
|
Jan 15 2008, 01:56
|
Группа: Новичок
Сообщений: 8
Регистрация: 12-01-08
Пользователь №: 34 017

|
прямой вывод portg=0x00 не работает. исходники я исправил, везде запись в порт идет как нужно..
|
|
|
|
|
Jan 15 2008, 11:00
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(Alexey Romanenko @ Jan 15 2008, 03:56)  прямой вывод portg=0x00 не работает. исходники я исправил, везде запись в порт идет как нужно.. Покажите, наконец, фрагмент исходника. Объясните, что значит "вывод не работает", если "запись в порт идет как нужно"? Напишите: что делаете, что получаете в результате, что ожидаете получить. А то вон БезумныйАлекс уже совсем безумные варианты предлагает.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jan 15 2008, 12:02
|
Группа: Новичок
Сообщений: 8
Регистрация: 12-01-08
Пользователь №: 34 017

|
Вам все либы сюда запостить?  Хотелось бы получить готовую работоспособную либу, которая могла бы компилиться в avr-gcc потому как все те которые удалось найти, не удалось запинать. На порту уже удалось управлять "1" и "0". Поменял библиотеку которую взял отсюда http://en.radzio.dxp.pl/t6963/. Но за неимением осцилографа не могу сказать что происходит на выводах. Хотя, если верить proteus 7 то на ногах постоянно должен меняться потенциал, но мультиметр в реальном устройстве либо не засекает изменения либо там ничего не меняется...
|
|
|
|
|
Jan 15 2008, 12:18
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(Alexey Romanenko @ Jan 15 2008, 14:02)  Вам все либы сюда запостить?  Ага, а мы их отладим и вышлем вам почтой, с работающим макетом и ящиком пива впридачу Цитата(Alexey Romanenko @ Jan 15 2008, 14:02)  Хотелось бы получить готовую работоспособную либу, которая могла бы компилиться в avr-gcc потому как все те которые удалось найти, не удалось запинать. Напишите свою. Для начала научитесь просто выставлять на порту нужное значение - что то вроде Код int main() { .. настройка PORTG = значение for(;;) ; } Мультиметром убедитесь, что на порту появляется нужное значение - оно никуда не денется, вы его сможете измерить мультиметром. То же и с портом, на котором управляющие сигналы. Потом штудируйте описание T6963. Попытайтесь записать/прочитать несколько разных значений в экранную память - добейтесь, чтобы читались те значения, которые вы записали. Дальше разбирайтесь, как работает библиотека. За вас этого никто сделать не сможет.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jan 15 2008, 15:50
|
Группа: Новичок
Сообщений: 8
Регистрация: 12-01-08
Пользователь №: 34 017

|
оффтоп: про пиво я впринципе не против  теперь к делу: на порт выводяться значения. но как мне узнать что в память lcd что-то залилось? без вывода этого на экран мне ничего не узнать (или я ошибаюсь?). а для того чтобы вывести хотябы символ из внутреннего знакогенератора нужно написать минимум 5 функций: иницализация портов и lcd, запись данных, запись команды, чтение статуса, запись символа. тут мне кажется я могу очень сильно намутить... Просто думал что в инете есть куча всего доброго под это дело, а оказалось не так...
|
|
|
|
|
Jan 15 2008, 16:23
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(Alexey Romanenko @ Jan 15 2008, 17:50)  теперь к делу: на порт выводяться значения. но как мне узнать что в память lcd что-то залилось? Вариантов масса: 1) считываете, сравниваете с ожидаемым, если совпало - поднимаете одну ногу, если не совпало - поднимаете другую. 2) пишете вывод в UART, подключаете свой процессор через MAX232/аналоги к СОМ-порту писюги, запускаете терминалку, выводите значения в нее (очень полезно, рекомендую). 3) останавливаете свою программу циклом в том месте, где она читает из дисплея и мультиметром побитно считываете с шины данных значение.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|