洛千叶 发表于 2018-4-18 23:14:41

关于STM32输入捕获DMA方式的问题

STM32输入捕获DMA方式网上资料很少,都是单通道的,我想知道一个定时器的四个通道可以同时进行输入捕获DMA传输吗?调试一天了都没成功,希望能给点提示。
现在实现了单通道输入捕获DMA方式测量PWM脉宽,使用CubeMX配置,如下图

洛千叶 发表于 2018-4-18 23:18:16

我也试过其他定时器,只能有一路可以DMA传输,配置都一样,四路都可以单独工作,一起就只有一个工作,不清楚哪里配置错了

xmshao 发表于 2018-5-4 16:08:57

你是想通过DMA方式将CCR寄存器的值传输到数组,
TIM3 ch1/ch2可以独立触发DMA使用不同的STREAM.

应该是你的配置有问题,你的DMA配置似乎还没到位,还需添加配置代码。

具体配置可以参考下库历程中TIM下的DMA工程。

GKoSon 发表于 2018-5-11 09:48:54

xmshao 发表于 2018-5-4 16:08
你是想通过DMA方式将CCR寄存器的值传输到数组,
TIM3 ch1/ch2可以独立触发DMA使用不同的STREAM.



hi 上哪儿可以下载HAL库的历程呀 谢谢

xmshao 发表于 2018-5-14 11:05:27

与龙共舞 发表于 2018-5-11 09:48
hi 上哪儿可以下载HAL库的历程呀 谢谢

如果你用STM32F4芯片,前往www.st.com/stm32 搜索 STM32CubeF4,
如果你用STM32F0芯片,搜索 STM32CubeF0.

GKoSon 发表于 2018-5-14 13:04:17

xmshao 发表于 2018-5-14 11:05
如果你用STM32F4芯片,前往www.st.com/stm32 搜索 STM32CubeF4,
如果你用STM32F0芯片,搜索 STM32CubeF0. ...

哦 好 根据你的提示 我找到啦

zhangkun1314 发表于 2018-11-30 10:58:22

你好,我想问下你这个最后实现了么,因为我最近也遇到这个问题了

www256 发表于 2019-7-8 16:11:19

zhangkun1314 发表于 2018-11-30 10:58
你好,我想问下你这个最后实现了么,因为我最近也遇到这个问题了

请教一下,有没有实现这个功能啊,我也在调试这个

www256 发表于 2019-7-8 16:11:49

楼主有没有实现这个功能啊,最近也在搞这个

wdliming-222461 发表于 2019-8-14 20:29:29

谢谢你的分享~~~

wdliming-222461 发表于 2019-8-15 09:42:29

是可以同时捕获的,
PWM输入模式就是为了同时捕获 频率,占空比。
目前我用下面的方法实现。
HAL_TIM_IC_Start_DMA(&htim1,TIM_CHANNEL_1,(uint32_t*)Period,32);
htim1.State = HAL_TIM_STATE_READY;
HAL_TIM_IC_Start_DMA(&htim1,TIM_CHANNEL_2,(uint32_t*)Duty,32);
这里有说到:
https://www.stmcu.org.cn/module/forum/thread-616960-1-1.html

梦幻的帅帅 发表于 2021-8-24 09:26:58

wdliming-222461 发表于 2019-8-15 09:42
是可以同时捕获的,
PWM输入模式就是为了同时捕获 频率,占空比。
目前我用下面的方法实现。


新手弱弱的请教一下,我设置的是上升沿捕获,这个Period 和Duty测出来具体是个什么值,捕获的时间嘛,还有后面的长度32是什么意思,读32个值嘛
页: [1]
查看完整版本: 关于STM32输入捕获DMA方式的问题