这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 将XMC4200的DAC与DMA一起使用,但是DMA控制器没有传输数据怎么解决?

共2条 1/1 1 跳转至

将XMC4200的DAC与DMA一起使用,但是DMA控制器没有传输数据怎么解决?

工程师
2024-08-21 15:10:17     打赏

我正在尝试将 XMC4200 的 DAC 与 DMA 一起使用,但是 DMA 控制器没有传输数据。
DAC 通道 0 配置为数据模式,具有内部触发器,频率为 24kHz。 设置了 “服务请求”、“运行” 和 “模拟启用” 位。
DMA 线路路由器 (DLR) 配置为线路 1,RS1 = 5,即 DAC.SR0。 设置了 LN1 后,线路 1 已启用。
DMA 通道 1 配置的目标地址寄存器设置为 0x48018014,这是 DAC 输入寄存器。 如果使用 DLR 第 1 行,CFGH.DEST_PER 设置为 1,CFGL.HS_SEL_DST 设置为 0 以选择硬件握手。
在设置 DMACFGREG.DMA_EN 后启用 DMA。
据我所知,所有配置都正确,但它不起作用!
该应用程序是修改后的版本,它使用DMA将数据发送到USIC,并且可以正常运行。
有人知道问题可能出在哪里吗?




关键词: DAC     DMA     控制器    

助工
2024-08-21 15:10:53     打赏
2楼

在尝试解决问题之前,请确保以下几点:

1. 检查 DAC 的电源和引脚配置是否正确。
2. 确保 DMA 控制器的时钟已正确配置,并且使能了相应的 DMA 模块。
3. 确保 DMA 控制器已正确配置,包括通道配置、传输长度和传输模式。
4. 检查 DMA 通道的请求源是否正确配置,并与 DAC 的触发器匹配。

确认后但仍然无法传输数据,可以尝试以下解决方法:

1. 检查 DMA 通道的触发源配置是否正确。根据您的描述,您应该使用 DAC 的触发源来触发 DMA 传输。确保 DAC 的触发源已正确配置,并且与 DMA 的触发源匹配。
2. 检查 DMA 控制器的中断是否已正确配置。如果 DMA 控制器没有传输数据,可能是因为没有正确配置 DMA 中断,导致 DMA 完成后没有触发相应的中断。请检查 DMA 控制器的中断配置,并确保在传输完成后触发中断。
3. 检查 DMA 通道的优先级配置。如果存在多个 DMA 通道,并且优先级配置不正确,可能会导致 DMA 控制器没有传输数据。请确保 DMA 通道的优先级配置正确,并根据优先级来触发 DMA 传输。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]