STM32
直播中

杨福林

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

SRAM1/2/3可以使用LPDMA通过LPTIM触发ADC4搬运数据到SRAM4吗?

请教一下各位大佬 使用STM32U575  LPBAM  我看官方例程中 所有的代码运行域都是SRAM4,正常模式也是在SRAM4 但是目前我这边SRAM4 的16K 在正常模式下 不够用,我在正常模式用SRAM1/2/3 ,将LPDMA 接收数据buff配置为SRAM4,但是现在在正常模式就没有数据,也没有中断产生,请问有大佬在正常模式用到SRAM1/2/3 使用LPDMA 通过LPtiM触发ADC4搬运数据到SRAM4的吗?

回帖(1)

张国厚

2024-9-23 16:34:01
在STM32U575微控制器中,LPDMA(低功耗直接内存访问)是一种高效的数据传输方式,可以在不占用CPU资源的情况下实现数据的搬运。LPTIM(低功耗定时器)是一种低功耗定时器,可以在低功耗模式下运行。ADC4(模拟数字转换器4)用于将模拟信号转换为数字信号。SRAM1/2/3和SRAM4是微控制器的静态随机存取存储器。

根据您的描述,您希望使用LPDMA通过LPTIM触发ADC4将数据搬运到SRAM4。在正常模式下,您希望使用SRAM1/2/3作为数据缓冲区,并将LPDMA接收数据缓冲区配置为SRAM4。但是,在正常模式下没有数据传输,也没有中断产生。

要实现您的需求,可以尝试以下步骤:

1. 配置LPTIM:首先,需要配置LPTIM以触发ADC4。这包括设置LPTIM的时钟源、预分频器、计数器模式等参数。

2. 配置ADC4:接下来,需要配置ADC4以将模拟信号转换为数字信号。这包括设置ADC4的分辨率、采样时间、通道等参数。

3. 配置LPDMA:然后,需要配置LPDMA以将ADC4的数据搬运到SRAM4。这包括设置LPDMA的源地址、目标地址、传输大小等参数。

4. 配置SRAM1/2/3:在正常模式下,您可以使用SRAM1/2/3作为数据缓冲区。但是,请注意,SRAM1/2/3在低功耗模式下可能无法使用。因此,您需要在正常模式下使用这些存储器。

5. 启动LPTIM和ADC4:在配置好LPTIM和ADC4后,启动它们以开始数据传输。

6. 检查中断:在LPDMA完成数据传输后,通常会触发一个中断。请确保您已经正确配置了中断,并在中断服务程序中处理数据传输。

7. 调试:如果仍然没有数据传输或中断产生,请使用调试工具(如ST-Link)检查LPTIM、ADC4和LPDMA的配置和状态。

请注意,这些步骤仅提供了一个大致的指导,具体实现可能需要根据您的具体需求和硬件环境进行调整。希望这些信息对您有所帮助。
举报

更多回帖

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