ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
18 апреля
1510598 Топик полностью
Nikolay_Po (07.04.2025 23:29, просмотров: 61) ответил Mty1 на Спасибо, это ясная и прозрачная формулировка принципа. А можно еще пояснить на примере - как в задачах ставить флаг корректного выполнения? Еcли она крутит цикл с vTaskDelay(1) а прерывание таймера скажем 5кгц, то в задаче ставим типа такого -
Вроде того. У разных задач может быть разный период обнаружения отказа. 

В вашем примере время обнаружения отказа внешней системой будет 50 циклов таймера плюс время обнаружения сбоя сигнала сердцебиения.

В подобных случаях, я делаю переменную типа int, чтобы были обрабатывались и отрицательные значения. И сравнение делаю не по неравенству нулём, как у вас, а по наличию положительного значения.

Например, if(flag>0){}.

Сравнение с нулём опасно тем, что срабатывает лишь на одну нештатную комбинацию. Лишний декремент и всё - сработает аж через следующее переполнение.