плохо работает мк

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
asd
Встал на лапы
Аватара пользователя
Сообщения: 95
Зарегистрирован: Сб янв 20, 2007 22:03:21
Откуда: от верблюда

Сообщение asd »

Включаю мк, программа начинает выполняться, но через разные промежутки времени программа сбрасывается в начало(дело не в коде).Кто знает подскажите :(
Реклама
Опытный кот
Сообщения: 764
Зарегистрирован: Пт фев 02, 2007 10:19:58
Откуда: Железногорск

Сообщение Кашпо »

Фильтруй питание. + повесь конденсатор 0.1 мкф непосредственно на ноги питания непосредственно МК. + конденсатор на РЕСЕТ и притяни его каким-либо резистором в пару килоом к плюсу (ну это если он минусом сбрасывается)
Реклама
asd
Встал на лапы
Аватара пользователя
Сообщения: 95
Зарегистрирован: Сб янв 20, 2007 22:03:21
Откуда: от верблюда

Сообщение asd »

Кашпо, конденсатлор и резистор на ресет - схемой можешь показать, не пойму как их соединять.И номиал конденсатора ??
Опытный кот
Сообщения: 764
Зарегистрирован: Пт фев 02, 2007 10:19:58
Откуда: Железногорск

Сообщение Кашпо »

asd писал(а):Кашпо, конденсатлор и резистор на ресет - схемой можешь показать, не пойму как их соединять.И номиал конденсатора ??
Ну резистор на плюс (т.е. получается подтягивающий резистор), конденсатор на минус. конденсатор где-то 0.1 мкф.

А вообще - вот интересная статейка: http://www.caxapa.ru/faq/emc_immunity.html
Реклама
Эиком - электронные компоненты и радиодетали
Мявтор!
Аватара пользователя
Сообщения: 825
Зарегистрирован: Вс дек 18, 2005 20:04:42
Откуда: Свердловская обл.

Сообщение moLCHec »

Для предотвращения "зависания" контроллера на борту имеется сторожевой таймер который сбрасывает контроллер через определённые промежутки времени.
Чтобы избежать сброса при нормальном выполнении программы . сторожевой таймер необходимо реулярно сбрасывать через промежутки времени, меньшие его периода.Сброс сторожевого таймера производится командой wdr.
Коэфиицент деления предделителя определяется значением битов WDP0...WDP2 регистра WDTCR
Формат регистра
7...5 зарезервированно
4 WDTOE разрешение изменения состояния сторожевого таймера
3 WDE разрешение сторожевого таймера ("1" - включён)
2 WDP2
1 WDP1
0 WDP0

Для изменения/выключения сторожевого таймера сначало необходимо установить бит WDTOE, при измении значения предделителя необходимо отключить таймер во избежании сброса.
Значение периода сторожевого таймера
WDP2 WDP1 WDP0 Числло тактов
000 16К
001 32К
010 64К
011 128К
100 256К
101 512К
110 1024К
111 2048К
Типовое значение частоты сторожевого таймера 1МГц, однако её значение зависит от температуры и напряжения питания
Настоящий кот всегда либо голоден,
либо невыспался ...
Контактная информация:
Реклама
Грызет канифоль
Аватара пользователя
Сообщения: 257
Зарегистрирован: Сб сен 09, 2006 19:00:18
Откуда: СССР

Сообщение Tohey »

asd писал(а):Включаю мк, программа начинает выполняться, но через разные промежутки времени программа сбрасывается в начало(дело не в коде).Кто знает подскажите :(
Было подобное - забыл push'ить некоторые регистры при обработке прерывания!
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»