Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

wdt не работает

Непрочитано 07.02.2014, 12:23  
yellow87
Вид на жительство
 
Аватар для yellow87
 
Регистрация: 29.04.2007
Адрес: Иркутск
Сообщений: 311
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
yellow87 на пути к лучшему
По умолчанию wdt не работает

Всем привет!

Ни разу не использовал сторожевой таймер.
И вот всё-таки МК завис.

Поэтому дальше без него никак.

Делаю так:
Код:
/////MPLAB_8 + CCS_4
#include ‹16F628A.h›
#use delay(clock=48000)
#fuses INTRC_IO, NOMCLR, PUT, NOLVP, WDT, NOBROWNOUT

#byte PORTA	=5

void main(void)
{
setup_comparator(NC_NC_NC_NC);
setup_oscillator(OSC_48KHZ);
PORT_B_PULLUPS(TRUE);
SETUP_WDT(WDT_2304MS);
SET_TRIS_A(0); 
PORTA=15;
delay_ms(2000);
do	{
	porta=1;
	delay_ms(255);	
	porta=2;
	delay_ms(255);	
	porta=4;
	delay_ms(255);	
	porta=8;
	delay_ms(255);	
	}WHILE(TRUE);
}
Но сброса не происходит.
Светодиодики переключаются по очереди. То есть бегущий огонь работает стабильно, а как я понимаю, до третьего светодиодика дело не должно было дойти никогда.
Реклама:
yellow87 вне форума  
Непрочитано 07.02.2014, 12:36  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: wdt не работает

Нам самим угадать, что здесь происходит, да?
SETUP_WDT(WDT_2304MS);
Easyrider83 вне форума  
Непрочитано 10.02.2014, 02:47  
yellow87
Вид на жительство
 
Аватар для yellow87
 
Регистрация: 29.04.2007
Адрес: Иркутск
Сообщений: 311
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
yellow87 на пути к лучшему
По умолчанию Re: wdt не работает

я так думаю в этой строчке мы настраиваем вдт таким образом, чтобы он каждые 2,3секунды переполнялся. А переполнение вызовет сброс МС.
Ведь это внутренняя функция компилятора- байты конфигурации нужные в ней устанавливаются. Не моя это функция.
По расчёту во время второго delay(255); должен быть сброс - и всё по новой.
Но сброса не происходит. Может я что-то ещё забыл.
Где-то я видел такую конструкцию
#use delay(clock=48000, reset_wdt)
Пробовал и так, но ничего не изменилось
yellow87 вне форума  
Непрочитано 10.02.2014, 02:53  
Saadov
Почётный гражданин KAZUS.RUN
 
Аватар для Saadov
 
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,010
Сказал спасибо: 348
Сказали Спасибо 1,023 раз(а) в 551 сообщении(ях)
Saadov на пути к лучшему
По умолчанию Re: wdt не работает

Сообщение от yellow87 Посмотреть сообщение
Может я что-то ещё забыл.
фьюз например?
Saadov вне форума  
Непрочитано 10.02.2014, 03:12  
yellow87
Вид на жительство
 
Аватар для yellow87
 
Регистрация: 29.04.2007
Адрес: Иркутск
Сообщений: 311
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
yellow87 на пути к лучшему
По умолчанию Re: wdt не работает

какой ещё к фьюз к уже имеющемуся
#fuses WDT ?
yellow87 вне форума  
Непрочитано 10.02.2014, 10:42  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: wdt не работает

Тут ничем не помочь. Это тяжелый случай.
Easyrider83 вне форума  
Непрочитано 10.02.2014, 11:06  
MisterDi
Почётный гражданин KAZUS.RUN
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,284
Сказал спасибо: 441
Сказали Спасибо 1,040 раз(а) в 701 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: wdt не работает

Внимательно читаем первую строчку помощи.
Цитата:
For PCB/PCM parts: WDT_18MS, WDT_36MS, WDT_72MS, WDT_144MS,WDT_288MS, WDT_576MS, WDT_1152MS, WDT_2304MS
И чуть ниже
Цитата:
For PIC®16 parts with software controlled WDT enabled: WDT_ON, WDT_OFF, WDT_TIMES_32, WDT_TIMES_64, WDT_TIMES_128, WDT_TIMES_256, WDT_TIMES_512, WDT_TIMES_1024, WDT_TIMES_2048, WDT_TIMES_4096, WDT_TIMES_8192, WDT_TIMES_16384, WDT_TIMES_32768, WDT_TIMES_65536.
__________________
misterdi<@>i.ua
MisterDi вне форума  
Непрочитано 10.02.2014, 12:55  
Eddy71
Гуру портала
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, Полтава
Сообщений: 10,463
Сказал спасибо: 6,007
Сказали Спасибо 26,925 раз(а) в 6,084 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Re: wdt не работает

Не, всё проще. Надо строчку подправить:

#use delay(clock=48000,RESTART_WDT)

..только тактовая 48 кГц не маловато? Может там цифра должна быть 4000000?
__________________
«Мышление - это когда ты упрощаешь вещи, а не усложняешь их»
/Жак Фреско/

моя домашняя страничка: http://www.eddy.com.ua/
Eddy71 вне форума  
Непрочитано 11.02.2014, 04:10  
yellow87
Вид на жительство
 
Аватар для yellow87
 
Регистрация: 29.04.2007
Адрес: Иркутск
Сообщений: 311
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
yellow87 на пути к лучшему
По умолчанию Re: wdt не работает

easyrider83, после того как вы не смогли угадать что происходит в стандартной библиотечной функции компилятора SETUP_WDT(), я от вас уже не жду никакой помощи.

MisterDi, я внимательно прочитал первую строчку помощи и использовал константу WDT_2304MS
а чуть ниже - вообще не для моего PICa

Eddy71, 48кГц - стандартная внутренняя частота


RESTART_WDT из #use delay(clock=48000) убрал

жду помощи
yellow87 вне форума  
Непрочитано 11.02.2014, 05:28  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: wdt не работает

Сообщение от yellow87 Посмотреть сообщение
а как я понимаю, до третьего светодиодика дело не должно было дойти никогда.
А если 2304 разделить на 255 - сколько будет? Что-то мне подсказывает, что гораздо больше трех...
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объясните, как работает микросхема El-Shang Источники питания и свет 1 30.07.2010 17:33
SD/MMC не работает Ankkkk Микроконтроллеры, АЦП, память и т.д 2 29.05.2010 05:41
АЦП mega8 Proteus не работает AGAT0365 Proteus 16 27.04.2010 19:53
Не работает команда write_program_eeprom hubble Микроконтроллеры, АЦП, память и т.д 1 21.05.2008 21:57
Плохо работает сенсорная кнопка init_sub Микроконтроллеры, АЦП, память и т.д 4 23.12.2004 17:34


Часовой пояс GMT +4, время: 12:42.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.