Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Странное поведение портов ATMega128A
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
tema-electric
Повесил на порты PG3 и PG4 два светодиода (альтернативная функция TOSC2 и TOSC1). На начальном этапе программы светодиоды работали. Однако после полной адаптации старой программы к новой железяке порты работать перестали.

В проекте используется таймер 3, и прерывание от него, а также таймер 1, и прерывание от него. Таймер 0, для которого эти выводы являются выводами кварца совсем никак не используется. Читал состояние порта (PORTG), состояние регистра направления (DDRG). Все настроено правильно и так как написано в справочном листке на ATMega128A. Если садиться осциллографом на ножку без нагрузки, то видно как меняется состояние порта. Фронты конечно завалены. Никакую нагрузку порт не держит. Ощущение, что включены альтернативные функции порта (TOSC2 и TOSC1). Вот только я их не влючал совсем.

Может у кого-то что-то было подобное?

PS: Проблема не в кристалле контроллера. Порты ведут себя одинаково на целой куче плат.
Сергей Борщ
QUOTE (tema-electric @ May 13 2013, 20:36) *
PG3 и PG4
Включили фуз M103C?
QUOTE
• Port G serves alternate functions only (not a general I/O port).

maksimp
Цитата(Сергей Борщ @ May 14 2013, 01:11) *
Включили фуз M103C?

Точнее, M103C включён изначально, в контроллерах в состоянии как они продаются. Нужно его выключить - записать туда 1.
Сергей Борщ
QUOTE (maksimp @ May 14 2013, 07:11) *
Точнее, M103C включён изначально
Но ведь tema-electric пишет
QUOTE (tema-electric @ May 13 2013, 20:36) *
На начальном этапе программы светодиоды работали.

Значит когда-то этот бит был сброшен, а потом его установили.
tema-electric
Идя с фузом хороша, но про него я знаю. Он не запрограмирован. Мега работает как 128 арийская.
Код
-U lfuse:w:0xbf:m
-U hfuse:w:0xc1:m
-U efuse:w:0xff:m


Подумал и нашел в коде одно возможное место, где накладываются друг на друга записи в DDRG. Надо проверить. Хотя пару месяцев назад все посмотрел, что можно ... и DDRG и PORTG и любое упоминание в даташите по ключевым словам TOSC1/2.
tema-electric
Все выяснено. Аномалия была в моем собственном мозге. Наложение двух инициализаций порта G. При этом, когда смотрел состояние порта DDRG, я искал там два установленных в единичку бита. И они там действительно были. Вот только позицию их не проверил. Относились они к другим управляющим сигналам.
Тему можно закрывать. Всем спасибо! sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.