- "Почему такое нормально работать не может" -Опиши подробней?
Там всё собрано в одну кучу во времени. Надо плясать от каждой отдельной задачи, как часто она должна выполняться и с какой задержкой реагировать на внешние воздействия. И выдерживать эти требования. А в описанном примере одни задачи вызываются чаще чем надо, другие гораздо реже, время реакции как бык поссал. Человек явно об этом не думал. Совсем. От такого подхода можно ожидать любых чудес в любое время.
Вытесняющая ось там нафиг не нужна. Тем более её возможности не используются. Хватило бы кооперативной, да и супер лупы.
Если контроллер управляет чем-то ответственным, совершенно необходимо в точности представлять чего происходит в какой момент времени. И как происходит переход из одного состояния/режима в другой. Об этом не думали.
При общении с внешней периферией надо отслеживать, чего тебе ответили. Сбоить может запросто. Иногда просто брак поставили, оно не работает совсем, а прибор об этом даже не догадывается.
Про I2C. Если с ним работать, то очень аккуратно, отслеживая состояние и обрабатывая ошибки.
- Вы обсуждали конкретную установку, писать вот так-то и так-то? Было такое?
Я в этой ситуации сторонний наблюдатель.
- Он программист, он действительно особо не знает, с осциллографом не сидел. Поэтому помягче и поспокойней (имхо) надо. Пусть внатуре, посидит с осциллографом.
Ну да, этого не было. Это административный просер руководства.
- Я вначале думал совсем про другое.
Ну нет, там с этим всё хорошо. Это у железячников обычно больное место.
-
- +1 Всё верно. Всё так, со всем согласен. Особо и возразить не на что ;) - RxTx(06.12.2023 16:37)