打印
[研电赛技术支持]

gd32f205 外部脉冲计数问题

[复制链接]
816|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
如题,想用,由于之前布板考虑不周,脉冲输入的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);

使用特权

评论回复
沙发
天天想你呦|  楼主 | 2022-6-29 10:56 | 只看该作者
另外之前还用过timer2 ch1的外部捕获,也是用的中断count自加,跟外部中断一样,1700hz以上就不进中断了。
还想问问大佬们有没有什么不用中断的方法,就是不用消耗cpu资源,因为我有一个sdio的中断优先级必须最高,不然就会卡死,每次sd卡存储的时候都会影响其他中断,脉冲计数不准。
据我所知timer还可以用外部时钟可以满足我的要求,但好像有专门的IO口,我不能用。想问问还有没有别的办法,基于timer2 ch1的。

使用特权

评论回复
板凳
天天想你呦|  楼主 | 2022-6-29 10:58 | 只看该作者

这是我板子的原理图,要求是测量24V脉冲,我的信号发生器最高到10V。
但是我浅薄的硬件知识告诉我10V应该也没什么问题吧,另外1700hz对于外部中断似乎也算不上什么高频率,不是硬件的问题,软件就那么几行应该也没问题,我是真的没办法了

使用特权

评论回复
地板
天天想你呦|  楼主 | 2022-7-2 12:00 | 只看该作者
有大佬了解吗,给个思路也行啊

使用特权

评论回复
5
carpsnow| | 2022-7-3 11:40 | 只看该作者
3.3的集电极,用24的基极驱动?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

11

帖子

0

粉丝