-
GD32定时器触发HardFault_Handler
想用GD32F330开发板的定时器1做个定时的角度反馈,设了个10K频率的定时器中断,每计数10次反馈一次角度,结果发现了加了if语句来判断后,一直触发HardFault_Handler,无法执行if里面打印角度操作;关了if语句,又没问题了,操作正常执行。然后我一步步注释代码,发现在判断语句前,用串口打印一次在进行判断,判断语句也不会触发HardFault_Handler,里面指令也是正常进行。想请教一下大伙儿,这是个什么问题?是我定时器配置错了嘛?这是我的定时器配置:voidtimer1_interrupt(void){rcu_periph_clock_enable(RCU_TIMER1);timer_parameter_structtimer_initpara;timer_deinit(TIMER1);timer_initpara.prescaler=35;timer_initpara.alignedmode=TIMER_COUNTER_EDGE;timer_initpara.counterdirection=TIMER_COUNTER_UP;timer_initpara.period=199;timer_initpara.clockdivision=TIMER_CKDIV_DIV1;timer_initpara.repetitioncounter=0;timer_init(TIMER1,&timer_initpara);timer_interrupt_enable(TIMER1,TIMER_INT_UP);timer_enable(TIMER1);}voidnvic_config(void){nvic_irq_enable(TIMER1_IRQn,1,1);}inti=0;uint16_tangle;voidTIMER1_IRQHandler(void){if(timer_interrupt_flag_get(TIMER1,TIMER_INT_UP)!=RESET){i=i+1;timer_interrupt_flag_clear(TIMER1,TIMER_INT_UP);if(time==10){angle=ssi_ReadAngle();printf("%d\r\n",angle);i=0;}}}
2022-11-15 25 -
这两款晶振为什么不能通用?
电路板A工作正常,B不工作,两个板子的区别只有晶振不同。晶振A:12M2脚10PPM12PF晶振B:12M4脚10PPM20PF晶振B为什么不能直接替换晶振A?
2021-06-22 21 -
字节对齐问题
有没有大神能用简单通俗的语言讲解一下字节对齐
2020-10-31 28