如题,想用,由于之前布板考虑不周,脉冲输入的IO口只有timer2的ch1,于是想用gd32外部中断给脉冲输入计数,但是用信号发生器的正弦波频率给到1700hz以上打印出来的每秒计数就变成零了,1700hz以下的都是准确的,大佬们知不知道是怎么回事。
IO口配置如下,中断里就是一个count自加,然后一个定时器每秒输出count
nvic_irq_enable(EXTI5_9_IRQn, 0, 2);
rcu_periph_clock_enable(PULSE_CLK);
gpio_exti_source_select(GPIO_PORT_SOURCE_GPIOA, GPIO_PIN_SOURCE_7);
gpio_init(PULSE_PORT, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, PULSE_PIN);
exti_init(EXTI_7, EXTI_INTERRUPT, EXTI_TRIG_FALLING);
exti_interrupt_enable(EXTI_7);
exti_interrupt_flag_clear(EXTI_7);
|