📄 sds.c
字号:
#include <csl_gpio.h>
#include <csl_gpiohal.h>
#include "sdconfig.h"
#include "sdhal.h"
#include "sdcrc.h"
#include "sdcmd.h"
#include "sddriver.h"
extern GPIO_Handle hGpio;
/*void SD_Power(void)
{
INT32U i;
SD_POWER_GPIO();
SD_POWER_OUT();
SD_POWER_OFF(); /* 关闭 SD 卡电源 turn off power of sd card */
/*SPI_SCK_GPIO();
SPI_SCK_OUT();
SPI_SCK_CLR(); /* SCK 引脚置低 set SCK to zero */
/*SPI_MISO_GPIO();
SPI_MISO_OUT();
SPI_MISO_CLR(); /* MISO 引脚置低 set MISO to zero */
/*
SPI_MOSI_GPIO();
SPI_MOSI_OUT();
SPI_MOSI_CLR(); /* MOSI 引脚置低 set MOSI to zero */
/*SPI_CS_GPIO();
SPI_CS_OUT();
SPI_CS_CLR(); /* CS 引脚置低 set CS to zero */
/*for(i = 0; i < 0x9000; i++); /* 关闭电源延时 delay after turn off power of sd card */
/*SD_POWER_ON(); /* 打开 SD 卡电源 turn on power of sd card */
//}
/*******************************************************************************************************************
** 函数名称: void SD_HardWareInit() Name: void SD_HardWareInit()
** 功能描述: 初始化访问SD卡的硬件条件 Function: initialize the hardware condiction that access sd card
** 输 入: 无 Input: NULL
** 输 出: 无 Output: NULL
********************************************************************************************************************/
void SD_HardWareInit(void)
{
//SD_Power();
GPIO_pinWrite(hGpio,GPIO_PIN3,0x1); /* 对卡先下电,再上电 turn off power of card, and turn on it */
SPI_INIT(0xfa); /* 初始化SPI接口 initialize SPI interface */
//SD_INSERT_GPIO();
//SD_INSERT_IN();//已在主函数中说明 /* 检测卡完全插入口为输入口 the port checking card is input */
//SD_WP_GPIO();
//SD_WP_IN(); /* 写保护检测口为输入口 the port written protect is input */
//SPI_CS_SET(); /* CS置高 set CS to high voltage */
//SPI_Clk400k(); /* 设置SPI频率小于等于400kHZ set frequency of SPI below 400kHZ */
//SP_SPCR = (0x01 << 4) + (0x01 <<I 5); /* 设置SPI接口模式,MSTR = 1,CPOL = 1,CPHA = 0,LSBF=0 */
} /* configure SPI interface */
/*******************************************************************************************************************
** 函数名称: void SPI_Clk400k() Name: void SPI_Clk400k()
** 功能描述: 设置SPI的时钟小于400kHZ Function: set the clock of SPI less than 400kHZ
** 输 入: 无 Input: NULL
** 输 出: 无 Output: NULL
********************************************************************************************************************/
//void SPI_Clk400k(void)
//{
// SPI_SPCCR = 128; /* 设置SPI时钟分频值为128 Set the value of dividing frequency to 128 */
//}
/*******************************************************************************************************************
** 函数名称: void SPI_ClkToMax() Name: void SPI_ClkToMax()
** 功能描述: 设置SPI的clock到最大值 Function: set the clock of SPI to maximum
** 输 入: 无 Input: NULL
** 输 出: 无 Output: NULL
********************************************************************************************************************/
/*void SPI_ClkToMax(void)
{
SPI_SPCCR = 8; /* 设置SPI时钟分频值为8 Set the value of dividing frequency to 8 */
//}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -