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

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

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

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

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

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


 
Опции темы
Непрочитано 20.05.2016, 13:41  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 683
Сказал спасибо: 362
Сказали Спасибо 757 раз(а) в 359 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: WDT

Сообщение от rusyvochka Посмотреть сообщение
Это через как?
Например, через так:

Цитата:
"..When debug mode is enabled transients on RB6 or RB7 could
try to invoke the debugger and may inhibit the WDT. "

Нагуглено вот тут, мало ли что бывает.

Возможно, проверить биты конфигурации, не разрешена ли отладка.
А вдруг?..
Реклама:
j-Roger вне форума  
Непрочитано 20.05.2016, 19:06  
rusyvochka
Гражданин KAZUS.RU
 
Аватар для rusyvochka
 
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
rusyvochka на пути к лучшему
По умолчанию Re: WDT

Сообщение от j-Roger Посмотреть сообщение
Возможно, проверить биты конфигурации, не разрешена ли отладка.
А вдруг?..
Ну прям обыдно, да. Теории я и сам разводить могу...
Глянуть в архив не досуг?
Миниатюры:
Нажмите на изображение для увеличения
Название: FUS.JPG
Просмотров: 0
Размер:	80.6 Кб
ID:	93070  
__________________
Смотрящий под ноги - звёзды видит в лужах.
rusyvochka вне форума  
Непрочитано 20.05.2016, 19:26  
www.
Прохожий
 
Регистрация: 01.06.2010
Адрес: Днепропетровск
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
www. на пути к лучшему
По умолчанию Re: WDT

Почему-то нет сохранения основных регистров при входе в прерывание , а также восстановление при выходе (точнее оно есть ,только чёрт знает где) Где гарантия что вы находитесь в 0-банке???
www. вне форума  
Непрочитано 20.05.2016, 19:30  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 683
Сказал спасибо: 362
Сказали Спасибо 757 раз(а) в 359 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: WDT

Прошу извинить, это был скорее вариант ответа на вопрос "почему может не работать WDT", нежели совет.
А отладка у Вас да, выключена.
В исходнике, по крайней мере - бит 13 в слове CONFIG1 в единице.

Последний раз редактировалось j-Roger; 20.05.2016 в 19:33.
j-Roger вне форума  
Непрочитано 20.05.2016, 22:26  
rusyvochka
Гражданин KAZUS.RU
 
Аватар для rusyvochka
 
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
rusyvochka на пути к лучшему
По умолчанию Re: WDT

Сообщение от www. Посмотреть сообщение
Где гарантия что вы находитесь в 0-банке???
Ну я прям в замешательстве...

ORG 0x04 ; Вектор прерываний
BTFSS PIR1,TMR1IF
GOTO No_T1
Lamp_On
BCF PIR1,TMR1IF
BCF INTCON,PEIE
Retfie
---
No_T1 BTFSC INTCON,INTF
GOTO Int_B0 ;
GOTO Int_T0 ; INT TMR0
---
Int_T0 BCF INTCON,T0IF ; сбросил свой флаг
BSF INTCON,GIE ; разоешил глобальные прерываия: для Т1
MOVWF T_W
MOVFF STATUS,T_St
CLRF STATUS ; при входе может быть любой банк
---
Ex_Int_T0 INCF DIG,F
MOVFF T_St,STATUS
SWAPF T_W,F
SWAPF T_W,W
Retfie

----
Int_B0 MOVWF T_W
MOVFF STATUS,T_St
CLRF STATUS ; при входе может быть любой банк
---
MOVFF T_St,STATUS
SWAPF T_W,F
SWAPF T_W,W
Retfie

Ответ методом Ctrl+C, Ctrl+V...
В прерывании от Т1 только бит-орентированные команды, потому контекст не сохраняю, на фоне индикации, ели пришло время, разрешено прерывание от Т1.
Для Т0 и ИНТ свои, два сохранения / восстановления контекста, статус, к стати, обнуляется после сохранения, это разве не 0-ой банк?
Чуть больше текста, но выше писано: между двумя ИНТ, проходит 8 прерываний по Т0, и запрет Т0, разрешение ИНТ. После ИНТ, разрешены Т0, но запрет ИНТ. Дабы произошло, когда ожидается, а все "мухи" в полуволне игнорируются.
Да не первая игрушка по такому построена. Есть схемы с баласным конденсатором, без трансформатора, и гальванически не развязаны коммутируют киловатки на ура. К чему воду лить? Пост, вообще то, по WDT изначально.
Дельное было: проверять удобочитабельность данных перд дешифрацией дабы не вылететь за таблицу, ну и вектор на самопроизвольную смену TRIS. Остальное - лирика, к сожалению, как всегда. (
__________________
Смотрящий под ноги - звёзды видит в лужах.

Последний раз редактировалось rusyvochka; 20.05.2016 в 22:29.
rusyvochka вне форума  
Непрочитано 24.05.2016, 10:41  
www.
Прохожий
 
Регистрация: 01.06.2010
Адрес: Днепропетровск
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
www. на пути к лучшему
По умолчанию Re: WDT

Код:
Lamp_On
,
в каком банке находится Lamp_On ? , и что в результате вы модифицируете Port или Tris ???
BCF PIR1,TMR1IF -?????

Последний раз редактировалось www.; 24.05.2016 в 10:50.
www. вне форума  
Непрочитано 24.05.2016, 16:28  
tsb
Прописка
 
Аватар для tsb
 
Регистрация: 25.11.2006
Адрес: Харьков
Сообщений: 295
Сказал спасибо: 25
Сказали Спасибо 71 раз(а) в 60 сообщении(ях)
tsb на пути к лучшему
По умолчанию Re: WDT

rusyvochka, извините, но имея уже 426 сообщений, Вы не знаете, что при цитировании программного кода нужно заключать его в тэги [CODE] (значок # на панели инструментов)? А то об Ваши фрагменты кода глаза сломать можно.
Теперь ближе к теме.
Сообщение от rusyvochka Посмотреть сообщение
статус, к стати, обнуляется после сохранения, это разве не 0-ой банк?
А до обнуления "статуса" происходит сохранение, но куда? У Вас ячейки для сохранения T_W и T_St находятся именно в 0м банке. Так что, если в момент вызова прерывания был включен какой либо банк, кроме 0го - вот уже и крах программы. Вас спасает только то, что реально в этой "программе" банки ОЗУ через STATUS переключаются только на этапе начальной инициализации, когда прерывания еще не включены. Но рассчитывать на это нельзя! Вы подкладываете себе мину замедленного действия, которая когда нибудь да рванет. И таких мест, со скрытыми ловушками, в этой "программе" достаточно. Вот хотя бы такие "хитрые" конструкции:
Код:
#define	Data_I2C	INDF,0x02	;FSR=85 - TRISA
#define	Wire		INDF,0x05	;FSR=86 - TRISB
Т.е. под именами Data_I2C и Wire прячутся разряды управления портами, причем не прямо, а косвенно, "предполагая", что в регистре FSR к этому моменту должен быть адрес TRISA или TRISB. А если там окажется что-то другое - результат непредсказуем. И ради чего? Чтобы не переключать явно банки ОЗУ?
Возьмите себе за правило для переключения банков применять встроенный в ассемблер макрос banksel и в ваших программах будет меньше "подводных камней".
А ячейки памяти для сохранения контента (в вашем случае T_W и T_St) нужно принудительно расположить в области адресов 70h-7Fh, которые "видятся" из любого банка ОЗУ.
tsb вне форума  
Сказали "Спасибо" tsb
rusyvochka (24.05.2016)
Непрочитано 24.05.2016, 21:18  
rusyvochka
Гражданин KAZUS.RU
 
Аватар для rusyvochka
 
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
rusyvochka на пути к лучшему
По умолчанию Re: WDT

Цитата:
в каком банке находится Lamp_On ? , и что в результате вы модифицируете Port или Tris
Bank 0
Цитата:
BCF PIR1,TMR1IF -?????
- не совсем понял вопрос?
PIR1 - 0Ch - bank 0

Код:
#define	Nagr_On	BSF	PORTA,0x00
#define	Nagr_Of	BCF	PORTA,0x00
#define	Lamp_On	BSF	PORTA,0x03
#define	Lamp_Of	BCF	PORTA,0x03
#define	Clock_I2C	PORTA,0x01
#define	Data_I2C	INDF,0x02	;FSR=85 - TRISA
#define	Wire		INDF,0x05	;FSR=86 - TRISB
#define	Data_Wire	PORTB,0x05
#define	Bank_0	BCF	STATUS,RP0
#define	Bank_1	BSF	STATUS,RP0
Цитата:
области адресов 70h-7Fh, которые "видятся" из любого банка ОЗУ
Это почему же? Обьясните пож. или где прочитать? Никогда не встречал.

Цитата:
И таких мест, со скрытыми ловушками, в этой "программе" достаточно
Бл, обидно, но справедливо. Таки правда.
Цитата:
нужно заключать его в тэги
- сори, честно, не знал P.$. век живи, а у коня голова больше...
__________________
Смотрящий под ноги - звёзды видит в лужах.
rusyvochka вне форума  
Непрочитано 24.05.2016, 21:28  
cogen
Прописка
 
Регистрация: 25.04.2010
Сообщений: 24
Сказал спасибо: 9
Сказали Спасибо 17 раз(а) в 17 сообщении(ях)
cogen на пути к лучшему
По умолчанию Re: WDT

Сообщение от rusyvochka Посмотреть сообщение
Цитата:
области адресов 70h-7Fh, которые "видятся" из любого банка ОЗУ
Это почему же? Обьясните пож. или где прочитать? Никогда не встречал.
Блин, в даташите же Addresses F0h-FFh, 170h-17Fh and 1F0h-1FFh are
implemented as common RAM and mapped back to addresses 70h-7Fh.
Признайтесь, почему PIC16 а не ардуина?
cogen вне форума  
Непрочитано 24.05.2016, 21:32  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,510
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: WDT

Ну в даташите ведь. Memory Map. Там в табличке с регистрами написано, что "accesses 70h-7Fh" для остальных банков. Интересно, как до сих пор вы обеспечивали сохранение контекста, если у вас он сохранялся фактически в разные физические регистры? Отсюда то и ошибки и неразберихи в работе кода.
А с banksel есть другая ловушка. Фактически, эта директива разворачивается в две инструкции (для МК с четырьмя банками) и при всякого рода btfss или $+5 можно просчитаться...
NewWriter вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Attiny13 на коде из Bascom не просыпается по WDT 123ksn AVR 7 18.12.2017 23:30
Работа с WDT в МК PIC16F628 vavan1983 PIC 17 21.02.2015 20:22
wdt не работает yellow87 PIC 14 14.02.2014 05:08
PIC16F88 & WDT tolyanv8 Микроконтроллеры, АЦП, память и т.д 2 02.08.2010 15:37
WDT с чем его едят? t34 Микроконтроллеры, АЦП, память и т.д 6 17.08.2005 23:16


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


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