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

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

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

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

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

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


 
Опции темы
Непрочитано 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.RU
 
Аватар для 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.RU
 
Аватар для 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.RU
 
Аватар для 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,633
Сказал спасибо: 73
Сказали Спасибо 1,793 раз(а) в 647 сообщении(ях)
RECTO на пути к лучшему
По умолчанию Re: WDT

Сообщение от rusyvochka Посмотреть сообщение
чтобыполучить доступ к "МОИМ" данным находясь в любом банке памяти, достаточно раположить их в "регистры с адресами F0h-FFh, 170h-17Fh, 1F0h-1FFh реализованых как статическоее ОЗУ с отображением на регистры 70h-7Fh".
Да, всё правильно понимаете...
RECTO вне форума  
Непрочитано 05.06.2016, 03:38  
DmitriyVDN
Гражданин KAZUS.RU
 
Регистрация: 10.06.2010
Сообщений: 590
Сказал спасибо: 222
Сказали Спасибо 232 раз(а) в 152 сообщении(ях)
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.RU
 
Аватар для 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, время: 18:52.


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