[其他产品] dsPic33a ADC触发DMA问题

[复制链接]
1241|6
 楼主| classroom 发表于 2025-4-11 15:00 | 显示全部楼层 |阅读模式
我正在尝试设置一个简单的测试,使用DMA将ADC的采样传输到缓冲区。

当缓冲区满时,我希望发生中断,这样我就可以通过UART发送样本。

我可以让ADC触发SCCP1事件。我通过测试转换完成位并将单个样本发送到UART来测试这一点。看起来ADC运行正常。


然而,无论如何我都无法让ADC触发DMA。或者,让DMA中断服务程序(ISR)触发。

我在main()函数中设置DMA通道的源地址和目标地址。(已附上)

DMA应将500个样本传输到缓冲区,然后中断服务程序(ISR)应被调用。
如果我在第31行设置了一个断点,它***无法被触发。
我在这里是不是漏掉了什么很明显的事情?
单片小菜 发表于 2025-4-11 15:40 | 显示全部楼层
DMA如果直接使用ADC和串口,通道之间是否有干扰?
勇敢的大白菜 发表于 2025-4-11 15:49 | 显示全部楼层
单片小菜 发表于 2025-4-11 15:40
DMA如果直接使用ADC和串口,通道之间是否有干扰?

这个不会有干扰的。没有问题的。
喂什么玩意 发表于 2025-4-25 16:09 | 显示全部楼层
为了使DMA传输和触发DMA中断服务程序工作,我们可以逐步检查你的实现并确定可能的遗漏或设置问题。
一点点晚风 发表于 2025-8-29 12:36 | 显示全部楼层
ADC 触发 DMA 问题常表现为数据采集异常,如丢包、错位或不触发。多因配置错误:触发源选择不当(如未选正确 ADC 通道)、DMA 传输模式错(如循环 / 单次混淆)、优先级冲突,或 ADC 与 DMA 时钟不同步。需检查触发边沿、数据长度匹配,确保 DMA 中断使能正确,并用示波器验证触发信号时序。
野玫瑰 发表于 2025-9-16 15:57 | 显示全部楼层
dsPIC33A 的 ADC 触发 DMA 常遇问题:触发源配置错误,需正确设置 ADC 触发源(如定时器、外部信号);DMA 通道映射不当,要关联 ADC 缓冲区与 DMA 通道;优先级冲突,需合理配置 DMA 优先级。解决时检查 ADC 转换完成标志使能,确保 DMA 传输长度与 ADC 缓冲区匹配,用示波器验证触发信号。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

541

主题

3413

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部