一开始碰到的问题:发送CMD0能执行返回01,CMD1超时没响应。查到原因:模板程序控制SD供电逻辑反了。 #if 0 #define MSD_POWER_ON() GPIO_ResetBits(GPIOD, GPIO_Pin_10) #define MSD_POWER_OFF() GPIO_SetBits(GPIOD, GPIO_Pin_10) #else #define MSD_POWER_ON() GPIO_SetBits(GPIOD, GPIO_Pin_10) #define MSD_POWER_OFF() GPIO_ResetBits(GPIOD, GPIO_Pin_10) #endif 第二个问题:单步执行CMD0,CMD1,有响应,直接运行没响应。查到原因,上电时间少于1ms,SD卡内部复位没准备好,初始化前加廷时1ms. /* delay 1ms*/ delay(5000); /* MSD chip select low */ MSD_CS_LOW(); /* Send CMD0 (GO_IDLE_STATE) to put MSD in SPI mode */ MSD_SendCmd(MSD_GO_IDLE_STATE, 0, 0x95); 第三个问题:有时执行还是没有响应。原因,SD卡初始化SPI时钟要在100kHz到400kHz之间,更改SPI速率为180kHz. 第四个问题:读SD卡CSD寄存器没返回数据。原因:供电不足,平时只有2.9V,SPI通迅时,出现瞬间低于2.7V现像。短接直接供3.3V,如附图。继续其它试验。 出处:kimfufree |
【MCU实战经验】基于STM32F103C8T6的hart总线调试器设计
求教STM32F103进入STOP模式后用外部中断唤醒的问题
基于STM32F103RCT6的无源蜂鸣器音乐播放(生日快乐歌)
STM32F103c8t6有没有DAC 功能?
STM32F103x中文数据手册
新手求教,为何在我电脑上找不到STM32F1Xx.h文件
金龙107例程汇总(STM32F107)
万利STM32F107VC 原理图
STM32F103 ADC多通道检测必须要DMA吗?
【官方例程】STM32F107以太网官方例程
回复:WL板子EK-STM32F103调试读SD卡经验总结