×
单片机 > 单片机程序设计 > 详情

STM32_SPI驱动分析(SD卡)

发布时间:2020-06-02 发布时间:
|

SD卡有两个可选的通信协议:SD模式和SPI模式。为了电路和程序的简化,选用SPI模式。ZC09的SD与STM32通过SPI1连接。因为STM32内部集成了SPI控制器,所以只需简单的配置,就能实现SPI时序。

 

一、配置SPI1控制器

1、首先要打开SPI1的时钟,并且要打开SPI1信号线所在GPIO口的时钟。由于SPI1的信号线是在GPIOA上,所以用以下代码打开所需要时钟。这里要注意的是,打开SPI1和GPIOA 最好一起打开,因为本人试过先打开SPI1的时钟,然后再相隔了几行代码后才打开GPIOA的时钟,这样导致SD卡操作失败。

    

 

2、将GPIOA的5、6、7脚配置为复用推挽输出、50MHz 。

 

 

3、SD卡的使能脚直接连接到STM32的GPIOB的15脚上,所以也想对此脚进行配置。

    

 

4、接下来是配置SPI1控制器,根据SD卡的数据手册,配置SPI1控制器的寄存器。                    

   

5、配置好后就可以启动SPI1控制器。

 

二、编写其它SPI驱动

1、由于SD上电后的操作是处于低速模式下的,所以SD卡上电后的操作必需在小于400kHz,因此我们要写一个可以设置SPI速度的接口。

 

2、SPI读写驱动

 


关键字:STM32  SPI驱动  SD卡 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机中断源的扩展方法