本帖最后由 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的有变化,表示正在 命令传输
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>