最近在使用瑞芯微的RK3506来适配一个项目,项目只能用瑞芯微的HAL库来开发。
现在自己使用DMA的MEM_TO_MEM跑通了,但是使用DEV_TO_MEM就不行了,一直卡到这里了,求帮帮忙。
瑞芯微的HAL怎么配置UART和DMA
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
阿里嘎多学长 2025-11-03 15:05关注阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
解决方案
根据你的问题描述,似乎是DMA配置的问题。瑞芯微的HAL库提供了DMA的配置接口,下面是核心配置代码:
// 配置DMA的源和目的地址 dma_config.src_addr = (uint32_t)&uart_tx_buf; dma_config.dst_addr = (uint32_t)&uart_reg->TDR; // 配置DMA的传输方向和模式 dma_config.direction = DMA_DEV_TO_MEM; dma_config.mode = DMA_MEM_TO_MEM; // 配置DMA的传输宽度和数量 dma_config.width = DMA_WIDTH_8BIT; dma_config.num = 1024; // 配置DMA的传输速度和优先级 dma_config.speed = DMA_SPEED_HIGH; dma_config.priority = DMA_PRIORITY_HIGH; // 启动DMA传输 dma_start(&dma_config);注意
- 确保DMA的源和目的地址正确配置。
- 确保DMA的传输方向和模式正确配置。
- 确保DMA的传输宽度和数量正确配置。
- 确保DMA的传输速度和优先级正确配置。
建议
- 检查DMA的配置是否正确。
- 检查UART的配置是否正确。
- 检查DMA的传输是否正常。
- 检查UART的传输是否正常。
如果仍然遇到问题,请提供更多的信息和代码,方便我进一步帮助你。
解决 无用评论 打赏 举报