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

 
 
 
Reply to this topicStart new topic
> Контроллер почему то останваливает работу., PIC18F4520
Marser
сообщение Dec 3 2010, 11:44
Сообщение #1


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

Группа: Участник
Сообщений: 162
Регистрация: 12-09-08
Из: Казань
Пользователь №: 40 143



Здравствуйте!
Программирую pic18f4520. Написал программу бесконечного мигания светодиода:
while(1)
{
for(k=1;k<10000;k++){} ///задержка

if(LED==0){LED_1=1} else {LED=0;} // мигание светодиода
}

На практике светодиод мигает 14 раз, и перестаёт мигать, хотя задан бесконечный цикл.
Подскажите пожалуйста, почему контроллер может останавливаться? ввода в спящий режим в программе нет.

Спасибо.
Go to the top of the page
 
+Quote Post
ut1wpr
сообщение Dec 3 2010, 14:33
Сообщение #2


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

Группа: Участник
Сообщений: 98
Регистрация: 20-06-05
Пользователь №: 6 150



Цитата(Marser @ Dec 3 2010, 15:44) *
if(LED==0){LED_1=1} else {LED=0;} // мигание светодиода

Что такое LED_1? Их здесь не стояло... smile.gif
Go to the top of the page
 
+Quote Post
Marser
сообщение Dec 3 2010, 14:52
Сообщение #3


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

Группа: Участник
Сообщений: 162
Регистрация: 12-09-08
Из: Казань
Пользователь №: 40 143



Цитата(ut1wpr @ Dec 3 2010, 17:33) *
Что такое LED_1? Их здесь не стояло... smile.gif

Прошу прощения, это LED.
Проблема уже решена: В начале программы была настройка конфигурационного регистра. Эту настройку убрал и запретил работу сторожевого таймера, всё заработало. Зачем вообще нужен сторожевой таймер, проблемы создаёт!
Go to the top of the page
 
+Quote Post
Kompot
сообщение Dec 3 2010, 15:07
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 242
Регистрация: 10-06-08
Из: Хочу в пампасы...
Пользователь №: 38 192



Цитата(Marser @ Dec 3 2010, 18:52) *
Зачем вообще нужен сторожевой таймер, проблемы создаёт!


10 баллов! В цитатник юного эмбеддера!

Сторожевой таймер нужно периодически сбрасывать специальной командой.
С периодом, меньшим, чем время вачдога.
Тогда, если программа зависнет и престанет его сбрасывать, через время, равное периоду вачдога,
он сам сформирует сигал Reset для контроллера. Что, возможно, приведет к восстановлению работоспособности всего устройства. Во всяком случае, из "зависона" он выйдет.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Dec 3 2010, 19:22
Сообщение #5


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(Kompot @ Dec 3 2010, 18:07) *
10 баллов! В цитатник юного эмбеддера!
Тоже очень понравилось! beer.gif


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
ut1wpr
сообщение Dec 4 2010, 07:27
Сообщение #6


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

Группа: Участник
Сообщений: 98
Регистрация: 20-06-05
Пользователь №: 6 150



Цитата(Marser @ Dec 3 2010, 18:52) *
В начале программы была настройка конфигурационного регистра. Эту настройку убрал
Я бы так лихо не поступал. Надо было разобраться, что там понастроено? Может чего и нужного ? smile.gif
Go to the top of the page
 
+Quote Post
Marser
сообщение Dec 4 2010, 09:14
Сообщение #7


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

Группа: Участник
Сообщений: 162
Регистрация: 12-09-08
Из: Казань
Пользователь №: 40 143



Цитата(ut1wpr @ Dec 4 2010, 10:27) *
Я бы так лихо не поступал. Надо было разобраться, что там понастроено? Может чего и нужного ? smile.gif

Работа с конфигурационными регистрами у меня почему то вызывает проблемы.
Например в конфигурационный регистр 1h по умолчанию загружено число 0b00000111, но когда я строкой __CONFIG(1h,7) записываю в данный регистр данное число, контроллер после подачи питания вообще не запускается. При этом запись в конфигурационный регистр 2h работает адекватно.
Go to the top of the page
 
+Quote Post
wwweider
сообщение Apr 29 2011, 04:13
Сообщение #8


Местный
***

Группа: Validating
Сообщений: 301
Регистрация: 5-07-07
Пользователь №: 28 894



у меня контроллер останавливался, когда было разрешенно прерывание какоето а обработки для него не было.

похоже вы не запрети ватч дог а разрешили!))
поэтому программа заработала но не совсем правильно она у вас наверное как и прежде виснет но ватч дог перегружает контроллер
Go to the top of the page
 
+Quote Post
нечитатель
сообщение Apr 29 2011, 05:15
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 235
Регистрация: 20-11-10
Пользователь №: 61 032



Не проще ли и быстрее перебрать все возможные значения для, это, как его... а, да, конфигурационного регистра, чем лезть в интернет, искать раздел, печатать название..?
Всего же 256 вариантов их.
Go to the top of the page
 
+Quote Post

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

 


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


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