19.05.2016, 23:07
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: WDT
Сообщение от NewWriter
|
тут из-за ошибки датчика температуры моторчик останавливается, а после перезапуска МК положение шняшки в пространстве неизвестно, и придется вернуть ее в первоначальное положение и повторить всё сначала.
|
Понеслась звезда по кочкам! Может на такой поделке ещё и двоирование-троирование присобачить? Аль контрольную сумму ОЗУ и периферии?
|
|
|
|
19.05.2016, 23:16
|
|
Прописка
Регистрация: 25.04.2010
Сообщений: 24
Сказал спасибо: 9
Сказали Спасибо 17 раз(а) в 17 сообщении(ях)
|
Re: WDT
Тут инкубатор всё же а не автомобиль. Кстати баг ЭУР WV Polo 2011 возможно как раз из-за сброса собачкой
|
|
|
|
19.05.2016, 23:19
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: WDT
Сообщение от cogen
|
после нескольких ошибок чтения датчика
|
Приятно, что вызвало такое внимание..
Умные советы...
При старте или в процессе работ, потеря или отсутствие датчика, приводит к отображению на "втором" индикаторе прочерков.
И нах я исходники притулил? В моделе под Протеус даже выключатель в линии датчика есть, для проверки отработки...
Совет, по определению причин сброса как бы рулит: можно записать во влеш и прочитать на программаторе. Как вариант, заставить при старте секунд 2-3 отобразить на экране. 0хХХ очень даже запросто. Беру, как руководство к дейстию...
Хорош вариант, о случайном переводе вых. во вх... Можно проверять (или переписывать) TRIS... Такого вот в мыслях не было . Как бы после сброса, по умолчанию, все вход, по моему.
Сложность методов: зависание отмечено три раза за неделю и без моего присутствия.
Хотя бы потыкаться осцылографом по паре пинов (хоть 1-W или I2C) уже на какую нить мысль натолкнуло бы. Хоть светодиоды на эти шины вешай. Хотя, ели все станут входами, только TRIS пина 1-Wire меняется в процессе... Достаточно одного: "индикация запроса DS18B20".
Придется провести лекцию о фиксации показаний индикаторов до и после перезапуска пользователем.
Жду новых рекомендаций...
__________________
Смотрящий под ноги - звёзды видит в лужах.
|
|
|
|
19.05.2016, 23:41
|
|
Прописка
Регистрация: 25.04.2010
Сообщений: 24
Сказал спасибо: 9
Сказали Спасибо 17 раз(а) в 17 сообщении(ях)
|
Re: WDT
С датчиком не только вариант с отвалом шины надо проверить, но и что происходит при приёме необычных данных - может, например, при декодировании указатель за пределы таблицы вылетает
|
|
|
|
19.05.2016, 23:43
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: WDT
Сообщение от cogen
|
Тут инкубатор всё же а не автомобиль
|
скорее "цыплятник"...
P.S.
Как бы, после перварки вышесказанного...
Алгоритм работы, так как исходник и на не на, следующий:
Каждые 10 мСек внешнее прерывание, при переходе сетевого через "0"...
Между ними, смена 8 индикаторов и, в зависимости от такта:
INCF Count_B0,F
MOVFW Count_B0
ADDWF PCL,F
GOTO Save_DS18 ; 0 - сброс, тест присутствия, старт конвертации
GOTO Read_DS13 ; 1 - чтение текущего времени
GOTO R_Shaet_DS13 ; 2 - пересчет текущего времени для индикации
GOTO Read_DS18 ; 3 - чтение температыры
GOTO R_Schet_DS18 ; 4 - пересчет температуры для индикации
GOTO TST_Nagr ; 5 - сравнение установленной и полученой температур
GOTO TST_Timer_OO ; 6 - анализ установок вкл./выкл. света и сброс счетчика В0
конец цитаты...
В эммитаторе, всё заканчивается до следующего INT.
А вот если этот самый INT "проскочит"раньше времени...
- ошибка приема данных, хоть с 18В20, хоть с 1307 (каюсь, срс не считаю), как вариант, при дешифрации RETLW выбросит в произвольный адресс... Кроме порчи стека (перскочить return или retfie) можно заиметь и вместо MOVWF куда надо, запросто поймать, например, в любой TRIS, пусть и другой банк, тут пути Господни не исповедимы.
Это как бы мысли вслух. Вариант?
__________________
Смотрящий под ноги - звёзды видит в лужах.
|
|
|
|
20.05.2016, 00:15
|
|
Прописка
Регистрация: 25.04.2010
Сообщений: 24
Сказал спасибо: 9
Сказали Спасибо 17 раз(а) в 17 сообщении(ях)
|
Re: WDT
Даже при правильной црц неплохо бы проверить вменяемость данных. Ну или предусматривать в обработке данных все возможные входные значения. Честно признаюсь что давно ПИК не трогал, последнее что делал - библиотеку для вычислений с плавающей точкой - RISC ассемблер и 224 байта памяти, раскиданных по банкам меня тогда сильно утомили, по сравнению с альтернативами - адъ и погибель. Мне вот что интересно - почему до сих пор 16Fxxx не забыты?
|
|
|
|
20.05.2016, 08:27
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: WDT
Вот, добавил 4 первые строки:
Desh_Raz MOVWF Temp_Int
SUBLW 0x1A ; величина за таблицей
SKPC
RETLW 0x0B ; вернуть "-"
MOVFW Temp_Int
ADDWF PCL,F
dt 0xF5,0x05,0x73,0x67,0x87,0xE6,0xF6,0x25,0xF7,0xE7
Думаю, есть достатточно.
Еще, после обработки внешнего, запрещаю таковое и разрешаю непосредственно перед ожидаемым следующего, дабы за полуволну не на какие шорохи не срабатывало. TRISы пока оставил в покое, но "лишние" clrwdt поубирал. Есть в планах в выходные попасть на "объект", перешью и заставлю контролировать "заказчика". Ждемс.
__________________
Смотрящий под ноги - звёзды видит в лужах.
Последний раз редактировалось rusyvochka; 20.05.2016 в 08:28.
Причина: таблица не вся, не нагромождать абы
|
|
|
|
20.05.2016, 09:36
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: WDT
Да фигня всё это. ВДТ не затычка для чудо-поделок. ВДТ это последний рубеж. И вопреки расхожему мнению ВДТ тоже может подвиснуть.
|
|
|
Сказали "Спасибо" STM32F0
|
|
|
20.05.2016, 11:34
|
|
Гражданин KAZUS.RU
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 683
Сказал спасибо: 362
Сказали Спасибо 757 раз(а) в 359 сообщении(ях)
|
Re: WDT
И притулить внешний антизависатор.
|
|
|
|
20.05.2016, 12:06
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: WDT
Сообщение от j-Roger
|
И притулить внешний антизависатор
|
Ножки у процессора закончились. Присоплить 4 проводка на сторонний сторожевик не есть большая проблема, а вот перекоммутировать клавиатуру, 1 контакт - общий вход опроса, тут придеться поизголяться, плотность монтажа, знаете ли. Да и поможет ли? Если только под его сброс отдельный вывод задействовать. Программу поправить тоже не проблема.
Устройство уже в эксплуатации. Если всё вышеизложенное не поможет (не дай Бог), запитаю от импульсника вольт на 10-12 и, может таки, притулю внешний сторож: скорее всего утихомирится.
‹‹И вопреки расхожему мнению ВДТ тоже может подвиснуть. ››
Это через как?
__________________
Смотрящий под ноги - звёзды видит в лужах.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:46.
|
|