在探索者开发板的源码 “标准例程-库函数版本\实验38 SD卡实验\HARDWARE\SDIO\sdio_sdcard.c”的函数 SD_Error SD_EnableWideBusOperation(u32 WideMode) 这个函数参数widemode类型是u32,而函数内部调用了 SD_Error SDEnWideBus(u8 enx) ,将widemode作为参数enx,这样的话不就有bug了吗?当SD_EnableWideBusOperation传入参数SDIO_BusWide_4b(宏 其值为0x800),就会进行到errorstatus=SDEnWideBus(WideMode); 而SDEnWideBus(u8 env)接收到一个比u8类型大的数(u8最大值为256但0x800=2048),其结果不可预知??? |