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

 
 
> Не обнуляется счётчик Сторожевого таймера
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
Ответов
MaksimYrievich
сообщение Jul 6 2011, 17:31
Сообщение #2


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

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



Странно, но я явно же не указывал разрешения от прерываний (SEI), я их запретил командой CLI() в самом начале. И ещё один аргумент несогласия, с вашим предположением это то , что такие строки как "//ASSR|= 1<<AS0;" или "//OCR0|= 31;" не должны бы как то влиять на прерывания, однако при их раскоментировании происходит сброс
Go to the top of the page
 
+Quote Post
Палыч
сообщение Jul 6 2011, 19:06
Сообщение #3


Гуру
******

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



Может быть Вы не заметили, но и в текущем состоянии программа перезапускаeтся... Если Вы уберете разрешение прерывания по WDT, то всё прекрасно работает... Вы не успеваете сбрасывать WDT
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 17:24
Рейтинг@Mail.ru


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