CH32V307利用OPA形成方波以及触发TIM1计数,TIM1计算有较大跳变

我用的是CH32V307VCT6评估板,想利用CH32V307内部的OPA将工频正弦波形成方波,触发TIM1计数功能从而达到精确计算工频频率,但发现TIM1计数有很大的跳变,正常计算设置在18000左右,会时不时出现只有6000左右的计数。不知道是什么原因,尝试了多种触发模式和滤波功能都无法改善。

下面贴图分别是TIM1初始化,OPA初始化,以及TIM1中断处理,简单地把计数转移到一个数组里,然后转化为频率。


1680614955575687.png

1680614955797238.png

1680614955101673.png

请哪位大老分析下计数跳变的可能原因。

调试发现会有一二个计数器不正常,位置不定。如下图所示第一和第二个值。微信图片_20230404214423.jpg


看你的描述,是想实现一个频率计的功能,捕获高频率的信号,你可以参考一下这个例程 ,以外部脉冲计数的方式实现频率的计算。

icon_rar.gifCH32V307-定时器捕获高频信号-频率计.zip



谢谢TECH_TOM,问题已经找到。电路搭建不大对。


只有登录才能回复,可以选择微信账号登录