У меня большая проблема. Я не знаю, как я могу остановить таймер кнопкой и перезапустить таймер с помощью другой кнопки.Как запустить и остановить таймер на STM32?
Это код, который я для него до сих пор:
Этот код является обработчик прерываний для кнопки, которые начинаются таймер. Я думал, что это возможно, включив таймер, который работает до сих пор.
void EXTI0_1_IRQHandler(void)
{
if ((EXTI->PR & EXTI_PR_PR1) == EXTI_PR_PR1) /* Check line 1 has triggered the IT */
{
EXTI->PR = EXTI_PR_PR1; /* Clear the pending bit */
NVIC_EnableIRQ(TIM7_IRQn);
}
}
Этот код прерывания обработчик для кнопки, что остановить thimer. Этот фрагмент кода не работает, и таймер остается включенным.
void EXTI4_15_IRQHandler(void)
{
if ((EXTI->PR & EXTI_PR_PR4) == EXTI_PR_PR4) /* Check line 1 has triggered the IT */
{
EXTI->PR = EXTI_PR_PR4; /* Clear the pending bit */
NVIC_DisableIRQ(TIM7_IRQn);
}
}
Есть ли у anoyne какие-то подсказки или знать, как это должно быть?
я могу увидеть, где вы включить/отключить прерывание таймера, но я не могу на самом деле вижу таймер запуска/остановки на всех? –