初级会员

- 积分
- 129
- 金钱
- 129
- 注册时间
- 2019-7-28
- 在线时间
- 45 小时
|
1金钱
我用原子的STM32H743工程SD驱动程序,设计的板卡,CPU的芯片型号换为了144脚的STM32H743ZI,确认硬件无问题(其他工程用过), KEIL MDK 版本是5.23,也破解了,单步运行程序,出现了赋值不正常的情况,怎么回事啊?
1、初始化函数 SD_Init(void) 中
SDMMC1->POWER=0x00000000;
SDMMC1->CLKCR=0x00000000;
SDMMC1->ARG=0x00000000;
SDMMC1->CMD=0x00000000;
SDMMC1->DTIMER=0x00000000;
SDMMC1->DLEN=0x00000000;
SDMMC1->DCTRL=0x00000000;
SDMMC1->ICR=0X1FE00FFF;(这里的赋值不对,结果一直为0X00000000!!!!)
SDMMC1->MASK=0x00000000;
2、另外在sdmmc_sdcard.c中的SD_EnableWideBusOperation(u32 wmode)函数中:
if(SD_OK==errorstatus)
{
clkcr=SDMMC1->CLKCR; //¶áè¡CLKCRμÄÖμ
clkcr&=~(3<<14); //Çå3y֮ǰμÄλ¿íéèÖÃ
clkcr|=(u32)wmode<<14; //1λ/4λ×üÏß¿í¶è
clkcr|=0<<17; //2»¿aÆôó2¼tá÷¿ØÖÆ
SDMMC1->CLKCR=clkcr; (这里的赋值也一直不对,不为clkcr的值!而且怎么改变量名称都不对!!!)
}
|
|