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

 
 
> Не обнуляется счётчик Сторожевого таймера
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, 19:29
Сообщение #2


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

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



Нет не заметил. Или не понял о чём вы говорите. Инициализация сторожевого таймера происходит в главной функции и происходит после выполнения подпрограмм инициализации микроконтроллера и дисплея и МК до нее просто не доходит. Я же выше писал точнее рисунком показывал где заканчивается выполнение программы. Выполнение программы микроконтроллером заканчивается внутри функции "DisplayInit();". Причём так как указано в сообщении №3. Там рисунок и на нем указана проблема, для примера. Просто обратите внимание на порядок выполнения подпрограммы "DisplayInit();". Создается впечатление, что при выходе из подпрограммы "ComDispInit() " микроконтроллер сразу переходит на ресет. Вот версия проекта которая в отладке не сбрасывается. Вы правы подпрограмма "ZumerOut" слишком длинная и я в нее внес просто сброс сторожевого таймера и всё стало ништяк. Но это всё не решает более серьёзной, обозначенной выше проблемы Палыч...
Прикрепленные файлы
Прикрепленный файл  PH_Regulator_PHR_04_02.rar ( 44.71 килобайт ) Кол-во скачиваний: 14
 
Go to the top of the page
 
+Quote Post
Палыч
сообщение Jul 6 2011, 19:40
Сообщение #3


Гуру
******

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



Цитата(MaksimYrievich @ Jul 6 2011, 23:29) *
Но это всё не решает более серьёзной, обозначенной выше проблемы
Нет здесь никакой проблемы... Уберите из программы разрешение работы WDT; разбиритесь с тем, что нужно сделать для нормальной работы функций _delay_; отладьте свою программу; ну, а потом уж (но, никак не раньше) вернёте в программу WDT...
Go to the top of the page
 
+Quote Post
MaksimYrievich
сообщение Jul 6 2011, 19:44
Сообщение #4


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

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



Цитата(Палыч @ Jul 6 2011, 23:40) *
разбиритесь с тем, что нужно сделать для нормальной работы функций _delay_;

Палыч, а что Вам не нравится про _делай_. Может быть я действительно что то не учёл или не знаю или не так подключил из файлов. Поясните пожалуйста, что Вы имеете конкретно ввиду?
Go to the top of the page
 
+Quote Post



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

 


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


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