Переключение режима кнопкой.

Обсуждаем контроллеры компании Atmel.
Ответить
Это не хвост, это антенна
Сообщения: 1492
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

Парень, я допускаю, что очень мало знаешь про МК, толком ничего не читал, решил сразу сходу начать. Чтож, попробую последний раз. У МК есть сторожевой таймер, который сбрасывает МК, если он зависнет. WatchDog. Для того чтобы не было незапланированного сброса по сторожевому таймеру, его нужно периодически сбрасывать командой wdr. В зависимости от МК, сторожевой таймер включается фьюзами, либо программно. Время можно настраивать. Смотрим в даташит.
Мы не знаем, какой у вас МК. Представим, что у вас МК, в котором сторожевой включается фьюзами. По умолчанию, без настроек, время до сброса 16 мс. В программе у вас используются циклы временных задержек. А теперь смотрим на 16 мс и 100 мс и так далее в вашей программе. Команды сброса сторожевого таймера я в вашей программе не вижу.
Пы.Сы. Вижу что информация - не в коня корм. Потому, пожалуй, наверное, отпишусь от темы, потому как ТС ничего не делает для того, чтобы разобраться. Самому в первую очередь. По советам участников. Удачи.
Контактная информация:
Реклама
Встал на лапы
Сообщения: 131
Зарегистрирован: Вс май 08, 2016 22:45:48

Сообщение sTRog »

МК у меня - attiny 13A. Если из кода я убираю - обработчик кнопки - он работает как часы, несмотря на задержки в циклах. Как только стоит добавить обработчик кнопки - он считает, что на ножку подают питание и переключает режим, хотя ножка отвязана. На этой ножке переодические появляется напряжение раз в секунду, затем падает на секунду, хотя в коде я нигде не давал команды на подачу напряжение на эту ножку.
И если программа зависает - то после перезапуска, она и начинать должна с начала кода. А микроконтроллер в моем случае подолжает работать не останавливаясь, просто переключаясь переодические с одного режима на другой.
Т.е. если бы дело было в WatchDog - то мой мк работал только в одном режиме и не совсем корректно. А он работает в двух, хотя я их не переключаю.
Реклама
Это не хвост, это антенна
Сообщения: 1492
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

Секундные импульсы тоже не могут ниоткуда взяться, может у вас на макетке выводы меж собой замыкают. Вы пробовали свою программу в симуляторе проверять?
Контактная информация:
Встал на лапы
Сообщения: 131
Зарегистрирован: Вс май 08, 2016 22:45:48

Сообщение sTRog »

Я вытравил плату и все это припаяно на ней, перемычей нет - проверял, думаю проблема либо в коде, либло в МК, поэтому я и выложил код, чтобы узнать есть ли в нем ошибки, которые могут вызывать данную проблему.
Реклама
Эиком - электронные компоненты и радиодетали
Это не хвост, это антенна
Сообщения: 1492
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

Попробуйте отключить от МК все нагрузки. Проверять светодиодами сигналы.
Контактная информация:
Реклама
Встал на лапы
Сообщения: 131
Зарегистрирован: Вс май 08, 2016 22:45:48

Сообщение sTRog »

Т.е. в коде ошибки нет, которая могла бы сие вызывать?
Реклама
Ответить

Вернуться в «AVR»