[第三方配套工具]

求助,有没有大佬用过dma加iic读取mpu6050数据

[复制链接]
1266|13
手机看帖
扫描二维码
随时随地手机跟帖
quzer|  楼主 | 2024-6-19 17:43 | 显示全部楼层 |阅读模式
我在用dma加iic读取mpu6050数据时,试着用dma传输4个数,但是用freemaster查看数据以后,发现只有数组里面的第一个数有值,其他的都为0,而且发现没进dma传输完成中断,把传输数量改成1以后,就能进入dma传输完成中断,就好像dma只能传输一个数一样,有没有大佬知道这是怎么回事啊

使用特权

评论回复
yangxiaor520| | 2024-6-19 18:16 | 显示全部楼层
不是啊,DMA的传输完成中断是可以设置字节数量的啊

使用特权

评论回复
jf101| | 2024-6-27 21:05 | 显示全部楼层
应该还是程序的问题

使用特权

评论回复
szt1993| | 2024-6-29 05:47 | 显示全部楼层
应该是DMA传输设置的问题

使用特权

评论回复
Belle1257| | 2024-7-10 12:13 | 显示全部楼层
在使用DMA(直接内存访问)和I2C(Inter-Integrated Circuit)读取MPU6050传感器数据时,如果遇到DMA只能传输一个数的问题,可能是DMA配置问题

使用特权

评论回复
Emily999| | 2024-7-10 12:17 | 显示全部楼层
看看DMA传输的大小是否与I2C读取的数据大小一致。如果I2C每次传输的数据量小于DMA配置的传输大小,可能会导致DMA提前结束传输。检查DMA传输的触发条件,确保在I2C数据准备好后才触发DMA传输

使用特权

评论回复
Allison8859| | 2024-7-10 12:20 | 显示全部楼层
确认使用的库函数或驱动程序是否支持多字节DMA传输

使用特权

评论回复
Candic12e| | 2024-7-10 13:21 | 显示全部楼层
检查DMA通道的配置是否正确,包括源地址、目标地址、传输大小和传输模式等。确保DMA通道没有被其他任务占用,且DMA请求源(如I2C)已经正确配置

使用特权

评论回复
Carmen7| | 2024-7-10 14:25 | 显示全部楼层
确认I2C的时钟频率、从机地址和读写模式等配置是否正确。检查I2C的初始化和启动传输的代码是否正确执行

使用特权

评论回复
Betty1299| | 2024-7-10 17:33 | 显示全部楼层
DMA中断是否正确配置,包括中断使能和中断优先级等。检查中断服务例程(ISR)是否正确编写,确保在中断发生时能够正确处理

使用特权

评论回复
alxd| | 2024-7-10 18:42 | 显示全部楼层
检查硬件连接是否正确,包括I2C总线的上拉电阻和MPU6050的电源供应等。确认MCU和MPU6050之间的通信是否正常,可以通过示波器或逻辑分析仪检查I2C信号

使用特权

评论回复
B1lanche| | 2024-7-10 19:57 | 显示全部楼层
一般来说,要检查是否有其他软件逻辑干扰了DMA传输,如内存保护、任务调度等

使用特权

评论回复
Charlene沙| | 2024-7-11 08:30 | 显示全部楼层
使用调试工具(如Freemaster)检查DMA和I2C的状态寄存器,确认传输状态。逐步调试代码,确保每个步骤都能按预期执行

使用特权

评论回复
Alina艾| | 2024-7-11 10:33 | 显示全部楼层
简化代码,只保留必要的DMA和I2C初始化及传输代码,排除其他干扰。并且参考MCU和MPU6050的数据手册和应用笔记,确认是否有特殊的配置要求

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

0

粉丝