ST意法半导体
直播中

刘洋

10年用户 1133经验值
擅长:可编程逻辑 嵌入式技术
私信 关注
[问答]

如何在CubeMX中设置带定时器的DFSDM?

在 CubeMX 中,我试图将STM32L4 研讨会中描述的 DFSDM 设置放在一起:4.6 New peripherals - DFSDM - App example 2 (PT100 thermometer) but for STM32H7A3VITx。目标:每 1 秒用 N 个样本填充过滤器缓冲区。截图如下。
我使用“常规通道”使其在连续模式下工作,但不使用定时器和“需要注入通道” - “常规通道”不能由内部定时器触发,只有“注入”可以。
在启动 1s 计时器 ( HAL_tiM_Base_Start() ) 之前,我调用HAL_DFSDM_FilterInjectedMsbStart_DMA()
DFSDM1_FLT2_IRQHandler ()DMA1_Stream2_IRQHandler() 均未被调用。
我错过了什么?我已经尝试过 Circular 和 Normal DMA 模式。
我在整个 Internet 上搜索了此类设置的工作示例,但没有找到。
请指教。

定时器 7 设置:










回帖(1)

h1654155275.5879

2023-1-5 11:24:31
这个设置没有错。问题是过滤器缓冲区太大了,我没有足够的耐心。  
但是,这种方法不能满足我的需求。在每次计时器滴答时,都会向缓冲区添加一个新值,并在缓冲区变满时调用HAL_DFSDM_FilterInjConvCpltCallback() 。为了获得一系列快速测量(例如 1kHz 速度),我可以提高定时器速度,但这会给 CPU 带来太多不必要的负载,而我并不关心确切的速度,只要它是已知的。我最好使用以(例如)1s 间隔开始的常规转换。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分