SDIO寄存器赋不了值【有图】

2019-07-20 11:22发布

本帖最后由 Bunny17 于 2017-10-19 09:17 编辑

刚做回来的新板子,STM32F429加EMMC,昨天调试程序,进入POWERON函数后,逐条运行,发现 比如运行完  SDIO->POWER=0X03;        //上电状态,开启卡时钟   这个语句,然后查看SDIO寄存器的值,根本没有变化,POWER寄存器的值还是为0000;请问这样的问题可能由什么原因造成的呢。
另外说一下,对端口和RCC等寄存器的值都是有变化了的,包括我初始化的ADC DMA等寄存器都是有改变的,ADC也能正常运行。就是SDIO寄存器的值没有变化。


        //配置CLKCR寄存器
        SDIO->CLKCR=0;                                //清空CLKCR之前的设置
        SDIO->CLKCR|=0<<9;                        //非省电模式
        SDIO->CLKCR|=0<<10;                        //关闭旁路,CK根据分频设置输出
        SDIO->CLKCR|=0<<11;                        //1位数据宽度
        SDIO->CLKCR|=0<<13;                        //SDIOCLK上升沿产生SDIOCK
        SDIO->CLKCR|=0<<14;                        //关闭硬件流控制   
        SDIO_Clock_Set(SDIO_INIT_CLK_DIV);//设置时钟频率(初始化的时候,不能超过400Khz)        45M/(0X76+2)=45M/120=375KHz                 
         SDIO->POWER=0X03;                        //上电状态,开启卡时钟   
          SDIO->CLKCR|=1<<8;                        //SDIOCK使能
点击运行,最后只有STA的有变化,表示正在 命令传输

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。