qinlu123 发表于 2025-4-25 18:28

今天发现一个特别奇怪的现象

我用STM32F407VET6的Tim2Ch2外部计数模式对外部频率信号A进行计数,每600ms读取Tim2的CNT寄存器并清空,同时使用Tim5Ch3的输入捕捉模式计算外部频率信号A的脉宽(只获取脉宽应用层没有使用),串口1每10ms通过DMA发送一个18字节的数据。
奇怪的是,当外部输入信号频率超过400多K(具体频率没测出来反正到不了500K)串口就停止发送数据了(没有死机,仿真的话可以看到正确的输入信号频率),把输入信号频率降下来串口又能恢复。测试时间太短没有细测,这个问题也不影响使用(实际使用时外部信号频率不会超过100K)。有没有吊大的伙计们提供一下排查思路。

一叶倾城wwq 发表于 2025-4-26 14:23

忙不过来了吧,一直在测量pwm

ningling_21 发表于 2025-4-26 15:09

一直在处理中断

qinlu123 发表于 2025-4-27 07:58

ningling_21 发表于 2025-4-26 15:09
一直在处理中断

可是外部计数模式是硬件处理不触发中断啊,tim2和Tim5的CNT是32位计数器根本就触发不了溢出中断

eydj2008 发表于 2025-4-27 08:36

仿真啊 看程序怎么跑的在中断里面打断点看。

qinlu123 发表于 2025-4-27 09:17

真是老糊涂了,因为我开着输入捕捉,频率太高输入捕捉进中断频率太高把CPU资源吃完了。我光想着外部计数忘了输入捕捉了。
页: [1]
查看完整版本: 今天发现一个特别奇怪的现象