我正在尝试将 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,并且可以正常运行。
有人知道问题可能出在哪里吗?
共2条
1/1 1 跳转至页
将XMC4200的DAC与DMA一起使用,但是DMA控制器没有传输数据怎么解决?
关键词: DAC DMA 控制器
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 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动——B站互动赢积分】活动开启啦! | |
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |