这是我到目前为止的代码:
此代码是启动计时器的按钮的中断处理程序。我认为通过启用定时器是可能的,到目前为止它是有效的。
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)
}
}
此代码是停止计时器的按钮的中断处理程序。这段代码不起作用,计时器一直亮着。
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)
}
}
有没有人有一些提示或知道它必须是怎样的?
最佳答案
我认为“NVIC_DisableIRQ(TIM7_IRQn)”只需禁用计时器的中断但不停止计时器。
您可能需要:“TIM_Cmd(TIM7, DISABLE)”而不是“NVIC_DisableIRQ(TIM7_IRQn)”
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)