реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> lcd powertip pg240128+atmega128 (portg), проблемы состыковки...
Alexey Romanenko
сообщение Jan 13 2008, 08:10
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 12-01-08
Пользователь №: 34 017



доброго времени суток!

проблема собственно в следующем:

есть атмега128 и ч\б экранчик, все бы ничего, но контрольная шина экрана повешена на PORTG контроллера. fuse m103c убрал, mcucr =0x00.
Брал кучу готовых библиотек, но ни одна не заработала. Может есть люди кто занимался этим и помогут мне исходниками либы?

заранее спасибо
Go to the top of the page
 
+Quote Post
AlexMad
сообщение Jan 13 2008, 08:40
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



А какой контроллер в этом экранчике? я с ходу нашел два варианта. Правда, у меня используются другие, так что помощь может получиться неправильная.
Go to the top of the page
 
+Quote Post
Alexey Romanenko
сообщение Jan 13 2008, 08:47
Сообщение #3





Группа: Новичок
Сообщений: 8
Регистрация: 12-01-08
Пользователь №: 34 017



у него toshiba t6963. буду благодарен за любую помощь)
Go to the top of the page
 
+Quote Post
AlexMad
сообщение Jan 13 2008, 18:17
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



немножко вопросов:
- что именно не работает?
- делаете ли инициализацию?
- при чем тут mcucr?
Go to the top of the page
 
+Quote Post
Alexey Romanenko
сообщение Jan 14 2008, 02:08
Сообщение #5





Группа: Новичок
Сообщений: 8
Регистрация: 12-01-08
Пользователь №: 34 017



если бы знал что не работает написал бы более конкретно.
Иницилищация выполняется, но вот результата я не вижу. Должен экран очистится, а у него высвечивается одна полоска (всегда в одном месте) и не исчезает.
mcucr -- регистр управления portg в нем бит SRE (могу ошибится название точно не помню, он старший бит) должен быть нулем если нужно будет использовть portg как обычный порт ввода-вывода
Go to the top of the page
 
+Quote Post
AlexMad
сообщение Jan 14 2008, 09:42
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



так, а вообще, на порт G чего-нибудь выводиться? осциллом, тестером посмотреть, SRE, по-моему, тут не причем, у меня mcucr=0xc0 и на порту G висят светодиоды - нормально все работает.
Как вы пишите в порт?
Go to the top of the page
 
+Quote Post
Alexey Romanenko
сообщение Jan 14 2008, 14:29
Сообщение #7





Группа: Новичок
Сообщений: 8
Регистрация: 12-01-08
Пользователь №: 34 017



порт работает.тестером проверил. работает только если писать так
portg |=(1<<0);
Go to the top of the page
 
+Quote Post
AlexMad
сообщение Jan 14 2008, 20:14
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



А как Вы еще хотите писать?
Если выбрали порт G, то и работайте по его правилам.

Какой вариант вывода в порт НЕ работает?
Go to the top of the page
 
+Quote Post
Alexey Romanenko
сообщение Jan 15 2008, 01:56
Сообщение #9





Группа: Новичок
Сообщений: 8
Регистрация: 12-01-08
Пользователь №: 34 017



прямой вывод portg=0x00 не работает.
исходники я исправил, везде запись в порт идет как нужно..
Go to the top of the page
 
+Quote Post
AlexMad
сообщение Jan 15 2008, 09:09
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



делайте в два захода:

portg &= !(data)
portg |= (data)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 15 2008, 11:00
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 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)
Go to the top of the page
 
+Quote Post
Alexey Romanenko
сообщение Jan 15 2008, 12:02
Сообщение #12





Группа: Новичок
Сообщений: 8
Регистрация: 12-01-08
Пользователь №: 34 017



Вам все либы сюда запостить? smile.gif
Хотелось бы получить готовую работоспособную либу, которая могла бы компилиться в avr-gcc потому как все те которые удалось найти, не удалось запинать.

На порту уже удалось управлять "1" и "0". Поменял библиотеку которую взял отсюда http://en.radzio.dxp.pl/t6963/. Но за неимением осцилографа не могу сказать что происходит на выводах. Хотя, если верить proteus 7 то на ногах постоянно должен меняться потенциал, но мультиметр в реальном устройстве либо не засекает изменения либо там ничего не меняется...
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 15 2008, 12:18
Сообщение #13


Гуру
******

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



Цитата(Alexey Romanenko @ Jan 15 2008, 14:02) *
Вам все либы сюда запостить? smile.gif
Ага, а мы их отладим и вышлем вам почтой, с работающим макетом и ящиком пива впридачу sad.gif
Цитата(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)
Go to the top of the page
 
+Quote Post
Alexey Romanenko
сообщение Jan 15 2008, 15:50
Сообщение #14





Группа: Новичок
Сообщений: 8
Регистрация: 12-01-08
Пользователь №: 34 017



оффтоп: про пиво я впринципе не против smile.gif

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

Просто думал что в инете есть куча всего доброго под это дело, а оказалось не так...
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 15 2008, 16:23
Сообщение #15


Гуру
******

Группа: Модераторы
Сообщений: 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)
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 02:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01464 секунд с 7
ELECTRONIX ©2004-2016