В STM32F по умолчанию периферия продолжает "тикать" в реальном времени, пока происходит останов под отладчиком или пошаговые прохождения по программе. Чтобы остановить периферию (в твоем случае - Таймер), необходимо установить при инициализации системы нужный бит в узле отладки, что можно сделать либо библиотечной функцией:
DBGMCU_Config (DBGMCU_TIM3_STOP, ENABLE); // stop timer3 while debugging
либо на "регистровом" уровне программирования:
DBGMCU->CR |= DBGMCU_TIM3_STOP;
Конечно, внешний измеряемый сигнал остановить нельзя, но под отладчиком, по крайней мере, не будет выбега таймера.
DBGMCU_Config (DBGMCU_TIM3_STOP, ENABLE); // stop timer3 while debugging
либо на "регистровом" уровне программирования:
DBGMCU->CR |= DBGMCU_TIM3_STOP;
Конечно, внешний измеряемый сигнал остановить нельзя, но под отладчиком, по крайней мере, не будет выбега таймера.
Комментариев нет:
Отправить комментарий