реклама на сайте
подробности

 
 
> Не обнуляется счётчик Сторожевого таймера
MaksimYrievich
сообщение Jul 4 2011, 18:56
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 79
Регистрация: 10-08-09
Пользователь №: 51 828



Здравствуйте ! Подскажите, пожалуйста, может быть есть кто сталкивался с подобной проблемой программирования на СИ в WinAVR или AVRstudio 4.15 AvrGCC.

Вобщем не могу понять в чем причина сбрасывания микроконтроллера (после прошивки) при раскомментировании строки инициализации Сторожевого таймера в функции "AtMega128_PHR_RegulatorInit();"

Для сброса сторожевого таймера использую стандартную функцию "wdt_reset();" из файла <avr/wdt.h>:rolleyes: Весь проект в папке "AvrStudio4.15". Не пойму в чем дело. Как будто функция не сбрасывает сторожевой таймер И то же самое происходит при использовании стандартных фунций из файла <util/delay.h> когда начинаешь их использовать в основном файле программы "PH_Regulator_PHR_04_02.c" такие функции как _delay_ms();, _delay_us();.

Причем подобные проблемы возникают и в WinAVR... то же самое. Для того что бы открыть проект в WivAVR нужно просто открыть файл "PH_Regulator_PHR_04_02.c" в архиве с проектом. Если кто сталкивался подскажите в чём дело. Сам чувствую, что проблема из-за софта для программирования или что то не правильно подключил в исходниках. help.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  AvrStudio4.15_.rar ( 42.05 килобайт ) Кол-во скачиваний: 17
Прикрепленный файл  Rabochaia_Sreda.bmp ( 237.54 килобайт ) Кол-во скачиваний: 3
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Палыч
сообщение Jul 5 2011, 07:32
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(MaksimYrievich @ Jul 4 2011, 22:56) *
Для сброса сторожевого таймера использую стандартную функцию "wdt_reset();"
Как сброс WDT по Вашему мнению должен работать, если
1. Вызов wdt_reset() закоментирован
2. Даже, если его раскоментировать: находится этот вызов в функции ZumerOut (другого вызова я не нашёл); функция ZumerOut ни откуда не вызывается, поэтому сброса WDT не производится.
Go to the top of the page
 
+Quote Post
MaksimYrievich
сообщение Jul 6 2011, 16:58
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 79
Регистрация: 10-08-09
Пользователь №: 51 828



Цитата(Палыч @ Jul 5 2011, 11:32) *
Как сброс WDT по Вашему мнению должен работать, если
1. Вызов wdt_reset() закоментирован
2. Даже, если его раскоментировать: находится этот вызов в функции ZumerOut (другого вызова я не нашёл); функция ZumerOut ни откуда не вызывается, поэтому сброса WDT не производится.

Да нет, как бы это сказать правильнее... Вобщем если в функции "AtMega128_PHR_RegulatorInit();" раскоментировать любую ещё одну строку или две то микроконтроллер сбрасывается и начинает выполнение кода снова. Как будто стек что ли забивается или ещё что. Очень похоже на сброс от ватчдога, но на днях разобрался что он не причём. Вобщем каждый день сижу часов по пять и никак не въеду. На настоящий момент код выглядит вот так.. help.gif
Как бы сказать, получается, что не могу набить потолще функцию "AtMega128_PHR_RegulatorInit();" не понимаю чем глюк обусловлен

Вот этот рисунок посмотрите плиз там сам пример и вопрос. help.gif

Сообщение отредактировал MaksimYrievich - Jul 6 2011, 16:43
Эскизы прикрепленных изображений
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  PH_Regulator_PHR_04_02.rar ( 44.65 килобайт ) Кол-во скачиваний: 17
 
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 10:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.0139 секунд с 7
ELECTRONIX ©2004-2016