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

 
 
> 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
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 15)
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
Alexey Romanenko
сообщение Jan 15 2008, 16:47
Сообщение #16





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



мммм... про юарт я и забыл совсем.. хорошая идея, попробую. остальные мне не очень нравяться. есть конечно вариант через отладочные платы гонять все это smile.gif

спасибо за советы, буду пробовать.
Go to the top of the page
 
+Quote Post

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

 


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


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