STM32
直播中

刘敏

8年用户 1206经验值
私信 关注
[问答]

请问STM32F373 SDADC1和SDADC2如何使用同步模式?

一个项目需要使用SDADC同时采集电压和电流数据。 使用了两个SDADC   SDADC1和SDADC2。

使用STM32Cube 把两个SDADC都配置为差分模式,DMA循环中断 。。 SDADC1配置以为软件模式,SDADC2配置为同步模式。

程序中使用了
HAL_SDADC_InjectedMultiModeStart_DMA( hsdadc1,(uint32_t*)gsAdcDataDL,SDADC_SAMPLE_SIZE*2);
来启动SDADC1。
但是我在gsAdcDataDL中只看到了SDADC1采集到数据。SDADC2的数据如何获取啊?

回帖(1)

杨平

2024-4-17 16:43:36
在STM32F373系列中,SDADC1和SDADC2之间的同步模式可以通过以下步骤进行配置:

1. 配置SDADC1和SDADC2的基本设置,包括参考电压、采样频率等。
2. 将SDADC1配置为软件模式,SDADC2配置为同步模式。可以使用STM32CubeMX工具进行配置,或者手动设置相关寄存器。
3. 配置SDADC1和SDADC2的DMA传输设置,确保SDADC1和SDADC2的DMA传输方向和缓冲区地址正确配置。
4. 启动SDADC1的采样和DMA传输,这可以通过使用HAL_SDADC_InjectedMultiModeStart_DMA函数来实现,传入相关参数和缓冲区地址。
5. 在DMA的中断处理函数中,可以通过读取SDADC2的DMA传输缓冲区地址中的数据,来获取SDADC2的采样数据。

在你的情况下,你需要确保正确配置了SDADC2的DMA传输方向和缓冲区地址,以及使用了正确的启动函数来启动DMA传输。而在DMA中断的处理函数中,你需要读取SDADC2的DMA传输缓冲区地址中的数据,才能获取到SDADC2的采样数据。

请确保你的配置和代码中,没有遗漏或错误的设置。如果还有问题,请提供更详细的代码和配置信息,以便进一步分析和帮助解决问题。
举报

更多回帖

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