[研电赛技术支持] gd32f205 外部脉冲计数问题

[复制链接]
1039|4
 楼主| 天天想你呦 发表于 2022-6-29 10:50 | 显示全部楼层 |阅读模式
如题,想用,由于之前布板考虑不周,脉冲输入的IO口只有timer2的ch1,于是想用gd32外部中断给脉冲输入计数,但是用信号发生器的正弦波频率给到1700hz以上打印出来的每秒计数就变成零了,1700hz以下的都是准确的,大佬们知不知道是怎么回事。
IO口配置如下,中断里就是一个count自加,然后一个定时器每秒输出count
  1.         nvic_irq_enable(EXTI5_9_IRQn, 0, 2);
  2.         rcu_periph_clock_enable(PULSE_CLK);
  3.         gpio_exti_source_select(GPIO_PORT_SOURCE_GPIOA, GPIO_PIN_SOURCE_7);
  4.         gpio_init(PULSE_PORT, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, PULSE_PIN);
  5.         exti_init(EXTI_7, EXTI_INTERRUPT, EXTI_TRIG_FALLING);
  6.         exti_interrupt_enable(EXTI_7);
  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 | 显示全部楼层
9740562bbbf6f711a5.png
这是我板子的原理图,要求是测量24V脉冲,我的信号发生器最高到10V。
但是我浅薄的硬件知识告诉我10V应该也没什么问题吧,另外1700hz对于外部中断似乎也算不上什么高频率,不是硬件的问题,软件就那么几行应该也没问题,我是真的没办法了
 楼主| 天天想你呦 发表于 2022-7-2 12:00 | 显示全部楼层
有大佬了解吗,给个思路也行啊
carpsnow 发表于 2022-7-3 11:40 | 显示全部楼层
3.3的集电极,用24的基极驱动?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

11

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部