我在程序中使用下面的代码,怎么也进入不了TIME5的中断,但是将TIME5改成TIME2和TIME3都可以进入,是不是GD32F103C8T6没有TIMER5定时器呀,但是手册上也没有说明没有该定时器。
void timer5_init(uint16_t arr,uint16_t psc)
{
timer_parameter_struct timer_initpara;
rcu_periph_clock_enable(RCU_TIMER5); /* 使能TIMER5时钟 */
/* TIMER5 初始化配置 */
timer_deinit(TIMER5);
timer_initpara.prescaler = psc; /* 时钟预分频系数 */
timer_initpara.period = arr; /* 自动重装载值 */
timer_init(TIMER5,&timer_initpara);
timer_enable(TIMER5);
nvic_irq_enable(TIMER5_IRQn, 3, 3); /* TIMER5中断设置,抢占优先级3,子优先级3 */
timer_interrupt_enable(TIMER5,TIMER_INT_UP); /* 使能更新中断 */
}
//MAIN
timer5_init(5000,12000); /* 定时500ms*/
void TIMER5_IRQHandler(void)
{
timer_flag_clear(TIMER5,TIMER_FLAG_UP); /* 定时器更新中断的标识位需要手动清除 */
}
引用: bigbat 发表于 2022-6-15 18:52 GD32F103C8T6只有timer0、timer1、timer2、timer3四个定时器,根本没有4和5定时器
可以可以,直接砍断。
引用: bigbat 发表于 2022-6-16 09:07 没弄明白兄弟什么意思。是可以还是不可以,我看选型手册 这个型号就有4+1个定时器
应该是没有的。你的C8没有。pin脚多的有。