如何使能I2C DMA传输(一次传输大于8字节)
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
如何使能I2C DMA传输
[SOLUTION]
89平台I2C默认只能最多传输8个字节,8字节以上需要使用DMA传输.
DMA传输注意修改以下几点:
1. 在probe函数中设置 CLIent->addr |= I2C_DMA_FLAG;
2. 需要申请DMA内存,调用 i2c_master_recv/i2c_master_send 函数和I2C通讯时,
需要传入DMA地址,操作读取的数据时,使用DMA对应的虚拟地址.
3. DMA内存申请是以4KB为单位的.可以参考 matv.c 文件里面 DMA 部分,谢谢!
如何使能I2C DMA传输
[SOLUTION]
89平台I2C默认只能最多传输8个字节,8字节以上需要使用DMA传输.
DMA传输注意修改以下几点:
1. 在probe函数中设置 CLIent->addr |= I2C_DMA_FLAG;
2. 需要申请DMA内存,调用 i2c_master_recv/i2c_master_send 函数和I2C通讯时,
需要传入DMA地址,操作读取的数据时,使用DMA对应的虚拟地址.
3. DMA内存申请是以4KB为单位的.可以参考 matv.c 文件里面 DMA 部分,谢谢!
谢谢分享
不知道,有没有SPI用DMA传输的资料
