本帖最后由 lanjackg2003 于 2018-4-13 20:25 编辑
目前使用原子的F4开发板做SD卡的原型开发,发现使用CubeMX生成的代码可以读sd的数据,但是没有办法写卡。通过 HAL_SD_GetCardState 函数查询卡的状态,每次都是 HAL_SD_CARD_TRANSFER 如,图2所示
另外 HAL_SD_ErrorCallback 这个函数也会报错(通过调试,可以看到返回的是0x02的错误代码,通过差库定义发现是 HAL_DMA_ERROR_FE 错误)如图1所示
图2
图1
图2
我怀疑过,是我的SD卡的问题,但是我使用原子的开发板例程,SD读写例程、FATFS的例子,对这张卡写数据都是正常的。 因此,目前我只能怀疑原子的例程跟当前我使用的CubeMX的库文件版本不一样,是库出现的问题。 在此,我将我的工程文件上传在这里,希望哪位同志帮忙试试。 如果是CubeMX的问题,也请ST官方的人员看到了尽快修正一下,毕竟以前的库文件没有问题。 如果是我使用的问题,也欢迎指正一下。 谢谢 |