Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 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,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
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.RU
 
Аватар для Saadov
 
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,018
Сказал спасибо: 348
Сказали Спасибо 1,024 раз(а) в 552 сообщении(ях)
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,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: wdt не работает

Тут ничем не помочь. Это тяжелый случай.
Easyrider83 вне форума  
Непрочитано 10.02.2014, 11:06  
MisterDi
Почётный гражданин KAZUS.RU
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
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
Почётный гражданин KAZUS.RU
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,556
Сказал спасибо: 5,393
Сказали Спасибо 24,763 раз(а) в 5,559 сообщении(ях)
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
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,841
Сказал спасибо: 2,531
Сказали Спасибо 11,764 раз(а) в 5,895 сообщении(ях)
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 18:34


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot