В данном алгоритме, при старте от кнопки,
не производится опрос состояние ручного тормоза. Да, и при дальнейшей работе двигателя (если запуск был от кнопки), не производится контроль ручного тормоза,
он может быть в любом положении. А вот
при старте от автозапуска (
зелёный светодиод),
контроль производится. Если ручник не поднят (логическая 1), двигатель не запустится. Если ручник поднят (логическая 0), двигатель запустится, но если ручник опустить, двигатель заглохнет – выключится всё. Об этом ты просил в ТЗ, так и реализовано.
По длительному удержанию кнопки, в алгоритме
есть только два действия:
1. Выключить зажигание и оба светодиода.
2. Выключить АСС.
Выбор отключения этих устройств определяется в простой последовательности. Делается опрос статуса зажигания, если зажигание включено – выключаем его; если зажигание выключено – выключаем АСС. Других действий по удержанию кнопки в алгоритме нет.
Не понимаю почему, у тебя так происходит.

Нужно ещё раз тебе проверить схему и сигналы соответствующих входов-выходов. Может проблема в версии прошивки (может не ту версию залил), так как они шли под одним названием.

Для этого я изменил название исходника, дабы впредь не путаться. Ради чистоты эксперимента (хоть я и не сторонник Протеуса), я проверил весь алгоритм в Протеусе. Ни каких замечаний не было обнаружено. Всё работает по ТЗ. Я в замешательстве, не знаю, что предложить или объяснить. Справедливости ради, всё это, ты можешь посмотреть в исходнике.
Knopka_V1.zip [12.81 КБ]
Скачиваний: 525