Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| ob:o7:debug [2018/05/24 11:11] – [Сторожевой таймер] WWDG shiryaev.a.v | ob:o7:debug [2024/05/08 09:58] (текущий) – iadenisov |
|---|
| ===== Сторожевой таймер ===== | ===== Сторожевой таймер ===== |
| |
| См. MicroARMv7MSTM32F4WWDG. | Чтобы определить, когда микроконтроллер «завис» в бесконечном цикле, полезным инструментом является сторожевой таймер **MicroARMv7MSTM32F4WWDG** ([[https://github.com/aixp/O7/blob/master/BlackBox/Micro/Files/STM32F4IWDG.odc|github]]). |
| |
| Нужно выполнить Init и потом периодически вызывать процедуру Update. | Чтобы его использовать, сначала необходимо выполнить процедуру **Init**, и затем периодически вызывать процедуру **Update**. Тогда, при «зависании» микроконтроллера сработает **аварийная остановка с кодом 20**, и возможно определить место в программе, где это произошло (**Traps.trap.pc**) |
| |
| При "зависании" микроконтроллера сработает аварийная остановка с кодом 20, и можно определить место в программе, где это произошло (Trap.pc) | Более универсальный сторожевой таймер не имеет возможности определения места остановки: **MicroSTM32FxIWDG** ([[https://github.com/aixp/O7/blob/master/BlackBox/Micro/Files/STM32FxIWDG.odc|github]]). Но зато он работает на любых типах микроконтроллеров моделей STM32F. |
| | |
| | |
| "Независимый" сторожевой таймер (но без возможности определения места остановки): см. MicroSTM32FxIWDG. | |
| |
| |