ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
21 июля
74868
_leo_ (29.11.2006 12:09, просмотров: 494)
Помогите с Атмега8535 & И А Р EW for АВР V3.10A Имеется атмега 8535, работает на 16мгц 5В среда разработки иар воркбенч 3.10а Пишется программа на си, включающая в себя модули работы с ЖКИ (ПОВЕРТИП).Собственно функции для ЖКИ работают уже с 2003 года и почти не менялись. Отладка нынешней программы велась на чипе, работающем от внутреннего генератора (ну недогляд+спешка поначалу, а потом к фузам просто не возвращался, отлаживал основное в программе - систему менюшек, рабочие последовательнсти импульсов и тд - не важно) потом выставил фузы как надо (cksel=0xff, sut=0x03), остальное не трогал. генератор заработал - 16 мгц, но перестало работать все остальное - а именно - все что должно выводиться на ЖКИ выводиться перестало, да и ЖКИ судя по виду строчек не инициализировался, разве что изредка, но строки не выводил (задержки для ЖКИ были естественно скорректированы под 16мгц) в процессе выяснилось следующее. часть 8 битной шины для ЖКИ идет с порта Д (PORTD.2 .. PORTD7), два младших бита с порта С (PORTC.6, PORTC.7). отключил все в программе, инициализируются только порты (DDRx регистры пишутся), и ЖКИ (запускается функция). так вот, пока для порта С не выставишь DDRC=0xf0 (обязательно чтобы ноги PORTC.5, PORTC.4 были выходами), ноги 6 и 7 не управляются - стоит единица и все (причем не "чистая" 4.9В, а грязная 4.8~4.85). Отдельно выставить выходами только 5,6,7 ноги не пробовал, может только 5 влияет на соседей. А ноги 4 и 5 используются под кнопочки и на них висит по 1. Сделал пока принудительное перенаправление порта С, но почему то помогло не сильно - инициализаци ЖКИ происходит не в 100% случаев, либо выводятся строки не полностью, либо происходит пропуск символов в строке (!), либо из искажение (отправляешь П пишет чтото другое) То есть, работа шины данных не корректна до сих пор. Осциллограф на ногах порта С ничего не кажет (почти 5в стоит и все, когда ноги неуправляемы) В чем проблема может быть? что я не так делаю? Настройки в иаре оптимизация - скорость максимум Always do cross call optimization - не разрешен конфигурировано все используя диалоги (не xcl) ЗЫ: С контроллерами работаю несколько лет. Некоторое время был перерыв - работал немножко на другом фронте, а сейчас решил подрабатывать программизмом. Оказалось, некоторые вещи забыл... :( Но вроде же все проверил и не по одному разу.