各位好,请教个问题: 1. 我用的是STM32F407IGT6, 2. 我需要测量4路信号的频率和占空比,用的是32位的timer,TIM2和TIM5,下面是一个简单的示意图: 3. 我用的是两个通道组合,一个测量上升沿,另一个测量下降沿,即TIM2的ch1,ch2捕获一路,TIM2的ch3,ch4捕获一路,TIM5同理。 4.测试结果:当关闭TIM2的ch2,或者ch4, 则可以同时测量3路信号的频率和占空比; 如果不关闭TIM2的ch2,或者ch4,那么一路信号也测不了; 单独测试TIM2的1,2通道或者3,4通道,都是可以的; 5.问题:我检查了DMA设置和定时器设置,没有问题; 如果硬件不支持,那TIM5为什么可以; 6.问题出在哪呢,求解 |
STM32F407 定时器触发DMA 求助大神
【MCU实战经验】基于STM32F407的音频播放器设计
盘古UE-STM32F407工控板原理图
【STM32F429心得\疑问】+STM32F4之FSMC和FMC
STM32F429读取IO口传输的数据速率
STM32F407ZGT6 手摸芯片背部重启
STM32F4 SPI 动作时,软件片选信号被拉高,IO口程序逻辑失控
STM32F401RE NUCLEO求助,串口一直不能进中断
读取STM32F407内部温度传感器值错误
STM32F429多路内部ADC独立采集的办法
需要配置将ch1和2的信号联通,感觉还不如测单路的边沿触发来的方便,只要确定一次边沿是上升或下降就好。不就实现你的需求了么
因为:
1.要求测量频率的范围是0.03Hz-200Khz,分辨率20ns
占空比测量范围0-100%,分辨率1%
单通道捕获测量频率没有问题,
低频时测量占空比也没有问题,
但是频率较高时,测不了。
1. 可以把一路捕获信号连接到两个TIM通道上
2. 也可以把捕获信号只连接到一个TIM通道上,通过TIM内部映射到其它通道,不过只能是CH1,CH2之间或者是 CH3,CH4之间映射。
3.我出现问题是因为 TIM2_CH2,TIM2_CH4的DMA通道设置有冲突,看用户手册是没有问题的,可能是芯片bug吧
1.问题解决了,是TIM2_CH2和TIM2_CH4的DMA不能同时使用,不知道为什么,可能是芯片bug吧C:\Users\WE\Desktop\定时器对应DMA通道分布.png
å®æ¶å¨å¯¹åºDMAééåå¸
楼主回来了
1. 我当时一开始也是这么做的,我设置的是双沿捕获,在第一次捕获到边沿时,读对应管脚电平来判断是上升沿 还是下降沿,因为我发现没有相关的标志位来确定是上升沿还是下降沿,你是怎么判断第一次是上升还是下降的?我也尝试过先设置为上升或者下降沿,然后再设置为双沿捕获,但是频率较高时就有问题了。
2. 测量频率的范围是0.03Hz-200Khz,而且还要求测量占空比,所以单路捕获不行