关于SDIO DMA (uint32_t *)指针传输数据缓存区的4个字节问题?
SD_Error SD_ReadBlock(uint32_t addr, uint32_t *readbuff, uint16_t BlockSize)
上述函数数据存放缓存区uint32_t *readbuff 是4字节的,如果给的地址不是4的整数倍读取的数据会出错.
如:
SD_ReadBlock( 0, (uint32_t *)&buffer[2] , 512) // 出错
SD_ReadBlock( 0, (uint32_t *)&buffer[4] , 512) // 正确
有什么办法可以避免上面情况? |