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

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

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

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

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

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


 
Опции темы

WDT

Непрочитано 24.05.2016, 23:43  
cogen
Прописка
 
Регистрация: 25.04.2010
Сообщений: 24
Сказал спасибо: 9
Сказали Спасибо 17 раз(а) в 17 сообщении(ях)
cogen на пути к лучшему
По умолчанию Re: WDT

Сообщение от NewWriter Посмотреть сообщение
По вашему, лучше писать equ в каждой строчке?
это то же самое что и CBLOCK по смыслу - абсолютная адресация.
Чтобы программу разбить на модули используются перемещаемые секции (relocatable code) типа UDATA и CODE, никаких ORG и абсолютных адресов
Реклама:
cogen вне форума  
Непрочитано 24.05.2016, 23:53  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: WDT

Да не прикалывайтесь вы над Русалочкой со своим перемещаемым кодом. У него и так всё "там не помню, там не знаю".
STM32F0 вне форума  
Непрочитано 25.05.2016, 22:00  
rusyvochka
Гражданин KAZUS.RUN
 
Аватар для rusyvochka
 
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
rusyvochka на пути к лучшему
По умолчанию Re: WDT

Что ни ответ - все по теме, все о WDT...
А насчет Си...
Сравните обьем кода, скажем 4-х прерываний (было INT,T0,T1,UART,ADC)
после компиляции Си и АСМ. А потом дисасемблируйте оба результата.
Сильно разняться.
На вкус и цвет, как говорится...
Когда фазоимпульсное управление нагрузкой, любая пара call - return добавит 4 шага, что не всегда есть гут...
Бл. и сам туда же.
Лирика...
P.S. поправка: не русалочка, а РусЯвочка, Руслан, Руся (маманя так называла, вот и приклеелось).
__________________
Смотрящий под ноги - звёзды видит в лужах.
rusyvochka вне форума  
Непрочитано 25.05.2016, 23:41  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: WDT

Сообщение от rusyvochka Посмотреть сообщение
Что ни ответ - все по теме, все о WDT...
А что ВДТ? Начитались сказок? Нормальная сделанная прога и при выключенном ВДТ должна работать. И сохранять свою работоспособность даже при внешних воздействиях. И уже говорили, ВДТ не панацея, это последний рубеж, на который тоже особо надеяться нельзя.
Сообщение от rusyvochka Посмотреть сообщение
А насчет Си...
А что Си? ПИКовые, даже старые, ХайТековские компили творили вполне вменяемый код, но я вас не уговариваю, решать вам.
Сообщение от rusyvochka Посмотреть сообщение
Сравните обьем кода, скажем 4-х прерываний (было INT,T0,T1,UART,ADC)
после компиляции Си и АСМ. А потом дисасемблируйте оба результата.
Сильно разняться.
Та ну? Насколько? На размер начального кода и обнуление переменных? Невелика потеря! А мудохаться с банками и страницами ещё не достало? Зато с вашим подходом кодирования вероятность выхода проги на Си в рабочем состоянии намного будет выше, чем ваша писанина на АСМ.
Сообщение от rusyvochka Посмотреть сообщение
На вкус и цвет, как говорится...
Не уговариваю. Но задуматься нужно.
Сообщение от rusyvochka Посмотреть сообщение
Когда фазоимпульсное управление нагрузкой, любая пара call - return добавит 4 шага, что не всегда есть гут...
Вы о чём сейчас? Вы считаете свой код на АСМе идеалом по скорости и размеру? Я вас умоляю! На Си функции можно инлайнить, можно тулить макросы, можно АСМовые вставки делать, если уж совсем туго. Да и на АСМе вам с каждым днём всё труднее будет ждать помощи. Народ давно уже свалил на Си и на другие платформы. Вы скоро уже станете "последним из могикан".
STM32F0 вне форума  
Сказали "Спасибо" STM32F0
rusyvochka (26.05.2016)
Непрочитано 26.05.2016, 19:59  
rusyvochka
Гражданин KAZUS.RUN
 
Аватар для rusyvochka
 
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
rusyvochka на пути к лучшему
По умолчанию Re: WDT

А я вообще BASIK люблю, который с Randomize USR
На вскидку: количество "счастливых" билетов от 000000 (образец) до 999999
при кварце 4 МГц - 16,556 сек, 50 строк, если проверку через Call / Ret - 24.330 сек: 1.5 раза по времени, по обьему есно меньше.
Пишем на С?

Забыл
версия 1 - 16,556 сек версия 2 - 18,667 сек
Вложения:
Тип файла: txt Bilet 9 to 0.txt (1,012 байт, 0 просмотров)
Тип файла: txt Bilet 0 to 9.txt (912 байт, 0 просмотров)
__________________
Смотрящий под ноги - звёзды видит в лужах.

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

Поправте меня, если не прав:
- чтобыполучить доступ к "МОИМ" данным находясь в любом банке памяти, достаточно раположить их в "регистры с адресами F0h-FFh, 170h-17Fh, 1F0h-1FFh реализованых как статическоее ОЗУ с отображением на регистры 70h-7Fh".
Т.е. привычное
Код:
	CBLOCK	0x70
	Dig1
	Dig2
	Dig3
	Dig4
	Dig5
	Dig6
	Temp
	Resultat_L
	Resultat_H
	ENDC
имеет право на жизнь?
Всего то сменить CDLOCK 0x20 на CDLOCK 0x70?
Воды то налили...
__________________
Смотрящий под ноги - звёзды видит в лужах.
rusyvochka вне форума  
Непрочитано 05.06.2016, 00:42  
RECTO
Супер-модератор
 
Регистрация: 09.06.2011
Сообщений: 2,762
Сказал спасибо: 76
Сказали Спасибо 1,840 раз(а) в 668 сообщении(ях)
RECTO на пути к лучшему
По умолчанию Re: WDT

Сообщение от rusyvochka Посмотреть сообщение
чтобыполучить доступ к "МОИМ" данным находясь в любом банке памяти, достаточно раположить их в "регистры с адресами F0h-FFh, 170h-17Fh, 1F0h-1FFh реализованых как статическоее ОЗУ с отображением на регистры 70h-7Fh".
Да, всё правильно понимаете...
RECTO вне форума  
Непрочитано 05.06.2016, 03:38  
DmitriyVDN
Гражданин KAZUS.RUN
 
Регистрация: 10.06.2010
Сообщений: 598
Сказал спасибо: 224
Сказали Спасибо 235 раз(а) в 154 сообщении(ях)
DmitriyVDN на пути к лучшему
По умолчанию Re: WDT

Сообщение от rusyvochka Посмотреть сообщение
Всего то сменить CDLOCK 0x20 на CDLOCK 0x70?
Воды то налили...
ну ли в конце концов пользоваться для написания кода заготовками мплаба , благо их есть
C:\Program Files\Microchip\MPASM Suite\Template\Code
и не наступать на детские грабли и писать магические числа типа
Код:
 	__CONFIG	_CONFIG1, 20CCh
	__CONFIG	_CONFIG2, 770h
вместо осмысленых
Код:
	__CONFIG    _CONFIG1, _LVP_OFF & _FCMEN_ON & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
	__CONFIG    _CONFIG2, _WRT_OFF & _BOR21V
ну и так мысли в слух
Код:
RW_1Wire	CLRWDT		; передача чтение (при FF все "1"),для 4 Мц. 
	BCF	Data_Wire	; при входе, сбросил бит, перстраховка защелки
	MOVWF	Temp	; Исходные данные были в W
	MOVLF	0x86,FSR	; TRISB
	MOVLF	0x08,Cykl	; 8 bit
RWLoop	BCF	Wire	; 0 --› 1-Wire, 3 мкс
	nop  ; ЕСЛИ ЗДЕСЬ ушли в прерывание
	nop
	BTFSC	Temp,0x00	; Установить,если младший бит TEMP1 = 1
	BSF	Wire	; при чтении - отпустил шину через 3 мкс
	RRF	Temp,F	; Подготовить следующий бит
	Pauza	0x03	; Пауза ~15 мкс,от старта в "0" до установки данных на шине
	BCF	Temp,0x07	; Принимаем в тот же Tемп
	BTFSC	Data_Wire	; чтение. в интернвале 15-60, номинал = 15
	BSF	Temp,0x07 ; ИЛИ ЗДЕСЬ ушли в прерывание
	Pauza	0x10	; При передаче "0" 
	BSF	Wire	; 46 мкс до отпускания шины
	DECFSZ	Cykl,F	; 8 бит обработаны?
	GOTO	RWLoop	; Еще нет - переход: между тайм слот 50 мкс
	MOVFW	Temp	; Принятый байт в W
	Return
какой будет результат...

Последний раз редактировалось DmitriyVDN; 05.06.2016 в 03:52.
DmitriyVDN вне форума  
Непрочитано 05.06.2016, 17:23  
rusyvochka
Гражданин KAZUS.RUN
 
Аватар для rusyvochka
 
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
rusyvochka на пути к лучшему
По умолчанию Re: WDT

Цитата:
какой будет результат...
не сразу и нашел, чего. Цвет бы выделить...
лирика.
Да-да, Ваша правда. Даже и не пытался ровнять тайминги.
Тут (по моему криворукию) два варианта: или запретить прерывания на время подпрограммы, что не есть хорошо визуально на индикации, или, как в моем случа (совестно - всегда так делаю) расположить в промежутке между прерываниями.
Если конкретно в этой программе, жду переход через "0", запрет INT, разрешение Т0 - индикатор, смена индикации (все 8 разрядов за 10 мкс), и до следующего перехода (INT, по времени еще с запасом) чтение / запись, запрет Т0, разрешение INT. Еще, дабы не частило, не каждый такт. Выше расписано. Были попытки подружить прерывания с данной подрограммой - плюнул, "обдурил" флагом "прерывание прошло", и читаю / пишу только тогда. В случае "непредвиденного" входа в обработку прерываний - гаплык, потому, для перестраховки, запрещал...
Может и криво: все работает, все стреляет. Пусть будет.
Сенк за тыка-носомье, с этим уже влетал, записано в черный список...
Ну а по первому: выставляю биты конфигурации в окошке МПЛАБ, выбором из выпадашки. Копирую в програмныйй код для перестраховки: так толком и не понял: если галочка "код в программе" не стоит, присоеденяет ли конфигурацию в HEX или нет, не задумывался. Програмирую П-Кит2, пока без проблем. Из под МП-Лаб как то тоже было, но... Набираю / эммитирую на одном компьютере, прораммирую, как правило, на другом. На всех программаторов не напасешся...
Бл, понесло, извиняюсь за лирику, погода, наверное.
__________________
Смотрящий под ноги - звёзды видит в лужах.
rusyvochka вне форума  
Непрочитано 06.06.2016, 08:46  
Georg77
Прописка
 
Регистрация: 11.04.2009
Сообщений: 233
Сказал спасибо: 11
Сказали Спасибо 109 раз(а) в 66 сообщении(ях)
Georg77 на пути к лучшему
По умолчанию Re: WDT

по даташитам WDT - этакая железная штука, которая сработает всегда и вытащит контроллер/прогу из зависа
по моим наблюдениям, в жизни совсем не так - WDT фактически НИЧЕГО НЕ ГАРАНТИРУЕТ, в частности, У AVR.
если уж очень надо - можно снаружи притулить какую-нибудь ATtiny13 или что-то ещё мельче для управления RESET по каким-то критериям, в том числе, напрмер, по отсутствию контрольных импульсов.
Georg77 вне форума  
 
Опции темы

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

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, время: 00:39.


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