我有带有 DFSDM 接口(我相信)的 STM32H7A3 MPU 正确配置为使用 DMA。
我想在软件触发的请求(例如按下按钮)上获得 N 个连续样本 - 就像示波器“单次运行”一样。
我打电话HAL_DFSDM_FilterRegularMsbStart_DMA()
,它工作得很好,但是当我在它完成并HAL_DFSDM_FilterRegConvCpltCallback()
执行后再次调用它时,缓冲区包含完全相同的数据。似乎需要重置一些缓冲区指针(?)。
在HAL_DFSDM_FilterRegConvCpltCallback()
我设置内hdfsdm_filter->State = HAL_DFSDM_FILTER_STATE_READY;
- 否则会发生 HAL 错误,因为未重置过滤器状态。
启用连续模式,触发器是软件,启用 DMA,DMA 使用正常模式 - 因为我不希望它连续运行。
有没有人尝试过这样的 DFSDM 设置?请指教。
STM32Cube FW_H7 V1.9.0