ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
27 апреля
1583853 Топик полностью
VLLV (Сегодня, 08:57, просмотров: 71) ответил Cкpипaч на Посмотрим. Пусть сначала попросится. Я работодатель капризный ;-)
Я использую трюки в программировании для повышения надежности и основано это всё на 

том, что при воздействии помех сбивается тот самый счетчик команд, а содержимое ОЗУ как правило остается целым.


На деле до счетчика команд дело не доходит, хороший супервизор питания сбрасывает контроллер и держит его в сбросе, пока помехи не закончатся.

Отсюда вывод - контроллер должен продолжать работу после сброса с той точки, где был до сброса.

Конечно же, такая задача практически недостижима, но к ней можно приблизиться, если софт построить на коротких циклах

main { for (;;) { function[state](); }}

переменная state __no_init

Прошел сброс - автоматом попадаем в то состояние, где были. Конечно же, еще и другие переменные нужно делать no_init, желательно контролировать их правдоподобие.


Конечно же, это решение "для бедных", применимо только в определенной нише сложность/стоимость.

Но испытания по электромагнитной совместимости прибор проходит.


P.S. Прошло 20 лет как топтался доктор Туамосец, а у меня до сих пор отторжение этой темы :)