rcu_periph_clock_enable(RCU_GPIOB);
gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_12); gpio_af_set(GPIOB, GPIO_AF_2, GPIO_PIN_12); // PB12刹车功能,低电平有效
timer_interrupt_enable(TIMER0, TIMER_INT_BRK);
nvic_irq_enable(TIMER0_BRK_UP_TRG_COM_IRQn, 2,3); // 使能TIMER0的刹车中断
void TIMER0_BRK_UP_TRG_COM_IRQHandler (void) //入口和TIMER0更新复用
{
if ( timer_interrupt_flag_get ( TIMER0,TIMER_INT_FLAG_BRK ) )
{
timer_interrupt_flag_clear (TIMER0, TIMER_INT_FLAG_BRK);
BRK_CNT = 1000;
gpio_bit_toggle(GPIOA, GPIO_PIN_7); //测试
}
if ( timer_interrupt_flag_get ( TIMER0, TIMER_FLAG_UP ) )
{
timer_interrupt_flag_clear (TIMER0, TIMER_FLAG_UP);
//更新PWM占空比
}
}
将PB12拉低电平 PWM输出全部关闭,说明PB12配置正确,但就是进不去中断,示波器观察PA7口没反应,PA7口输出配置正确
求知道,谢谢
|