Страница 1 из 1

mega16 - шьется, но не работают порты

Добавлено: Сб дек 13, 2008 07:55:06
Spirit
Доброго всем времени суток.
Возникла такая проблема: преобрел новый МК ATMega16-16PU (из этой серии первый, раньше работал только с tiny2313 и mega48)
Запрограмировал. Запустил - никаких признаков жизни.
Урезал программу. С фьюзами помучился. То же самое.
Оставил только инициализацию порта и попытался хотябы помигать светодиодом - ни один порт не реагирует.

В конце концов оставил только инициализацию в разных состояниях.
Из нескольких десятков попыток пару-раз на портах появлялись прописаные уровни, но работоспособности так и не добился.

Пробовал кварцы на 8 и 14МГц. При обоих прошивается на ура.
Сигнатура в норме, ошибок при чтении и записи нету.
Но и признаков жизни - тоже.

Либо я туплю, либо МК труп!
Никто не сталкивался с такой проблемой?

Re: mega16 - шьется, но не работают порты

Добавлено: Сб дек 13, 2008 10:36:28
smac
Spirit писал(а):Доброго всем времени суток.
Возникла такая проблема: преобрел новый МК ATMega16-16PU (из этой серии первый, раньше работал только с tiny2313 и mega48)
Запрограмировал. Запустил - никаких признаков жизни.
Урезал программу. С фьюзами помучился. То же самое.
Оставил только инициализацию порта и попытался хотябы помигать светодиодом - ни один порт не реагирует.

В конце концов оставил только инициализацию в разных состояниях.
Из нескольких десятков попыток пару-раз на портах появлялись прописаные уровни, но работоспособности так и не добился.

Пробовал кварцы на 8 и 14МГц. При обоих прошивается на ура.
Сигнатура в норме, ошибок при чтении и записи нету.
Но и признаков жизни - тоже.

Либо я туплю, либо МК труп!
Никто не сталкивался с такой проблемой?
Проверьте питание и ресет, кстати программатро отключаете когда работоспособность проверяете?

Добавлено: Сб дек 13, 2008 10:44:17
Spirit
Всё это проверил в первую очередь. Никаких отклонений.
Программатор естественно отключал. По барабану.

Добавлено: Сб дек 13, 2008 15:50:36
smac
Spirit писал(а):Всё это проверил в первую очередь. Никаких отклонений.
Программатор естественно отключал. По барабану.
Ну тогда схему, код и желательно разводку в студию (схему и разводку лучше выкладывать в граф. формате, а не в pcb / sch).

Добавлено: Сб дек 13, 2008 20:33:11
Spirit
Плата задумывалась как макетная, поэтому на ней только сам МК, кварц на 14.3МГц с конденсаторами, резистор на 10кОм между +5 и RESET, колодка для прграммирования, три кнопки (RESET, INT0, INT1), блокировочные конденсаторы по питанию и 8-и контактные разъемы на каждый порт (даже не впаяны).

Программа - код, сгенерированый в CVAvr. В мастере указаны только тип МК, частота кварца и настроены порты (PORTB - выход со всеми нулями по умолчанию, остальные - входы с подтягивающими резисторами)
В основном цикле для проверки:

Код: Выделить всё

PORTB.0=0xff;
delay_ms(500);
PORTB.0=0x00;
delay_ms(500);
Пробовал и с другими портами - все какбудто в состоянии Z.
Только при включеном фьюзе JTAGEN наблюдается наличие подтяжки на выводах JTAG.

Добавлено: Сб дек 13, 2008 21:18:38
ZZToP
А порты настроены как выходы?

В инициализацию МК в ф-ции main() впишите

Код: Выделить всё

DDRB = 0x01;
И внутри цикла не

Код: Выделить всё

PORTB.0=0xff;
а

Код: Выделить всё

PORTB.0=1;
Вы ж один бИт порта выставляете, не байт! Т.е. один выход,а не весь порт.

Хотите весь порт, тогда в инициализации

Код: Выделить всё

DDRB = 0xFF;
и в цикле

Код: Выделить всё

PORTB = 0xFF;
delay_ms(500);
PORTB = 0x00;
delay_ms(500);

Добавлено: Вс дек 28, 2008 20:03:08
Spirit
Всем доброго времени суток.
Извините, что раньше не смог ответить - не было интернета.

Проблема решилась. Причиной всё же оказался неисправный микроконтроллер. Ни один порт не работал :shock: