⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stm32f10x_sdio.c

📁 stm32f10xx的中文译文例程
💻 C
📖 第 1 页 / 共 4 页
字号:
  assert_param(IS_SDIO_DPSM(SDIO_DataInitStruct->SDIO_DPSM));

/*---------------------------- SDIO DTIMER Configuration ---------------------*/
  /* Set the SDIO Data TimeOut value [设置SDIO数据超时值]*/
  SDIO->DTIMER = SDIO_DataInitStruct->SDIO_DataTimeOut;
    
/*---------------------------- SDIO DLEN Configuration -----------------------*/
  /* Set the SDIO DataLength value [设置SDIO数据长度值]*/
  SDIO->DLEN = SDIO_DataInitStruct->SDIO_DataLength;
  
/*---------------------------- SDIO DCTRL Configuration ----------------------*/  
  /* Get the SDIO DCTRL value [取得SDIO DCTRL值]*/
  tmpreg = SDIO->DCTRL;

  /* Clear DEN, DTMODE, DTDIR and DBCKSIZE bits [清DEN, DTMODE, DTDIR和DBCKSIZE位]*/
  tmpreg &= DCTRL_CLEAR_MASK;
  /* Set DEN bit according to SDIO_DPSM value [依照SDIO_DPSM的值设置DEN位]*/
  /* Set DTMODE bit according to SDIO_TransferMode value [依照SDIO_TransferMode的值设置DTMODE位]*/
  /* Set DTDIR bit according to SDIO_TransferDir value [依照 SDIO_TransferDir的值设置DTDIR位]*/
  /* Set DBCKSIZE bits according to SDIO_DataBlockSize value [依照SDIO_DataBlockSize的值设置DBCKSIZE位]*/
  tmpreg |= (u32)SDIO_DataInitStruct->SDIO_DataBlockSize | SDIO_DataInitStruct->SDIO_TransferDir
           | SDIO_DataInitStruct->SDIO_TransferMode | SDIO_DataInitStruct->SDIO_DPSM;
  
  /* Write to SDIO DCTRL [写SDIO DCTRL]*/
  SDIO->DCTRL = tmpreg;
}

/*******************************************************************************
* 函数名称: SDIO_DataStructInit
* 功能描述: Fills each SDIO_DataInitStruct member with its default value.[用默认值填充SDIO_DataInitStruct的每一个成员]
* 输入参数: SDIO_DataInitStruct: pointer to an SDIO_DataInitTypeDef
*                  structure which will be initialized.[指向包含着SDIO命令配置信息的结构体SDIO_DataInitTypeDef的指针]
* 输出参数: 无
* 返回参数: 无
*******************************************************************************/
void SDIO_DataStructInit(SDIO_DataInitTypeDef* SDIO_DataInitStruct)
{
  /* SDIO_DataInitStruct members default value [SDIO_DataInitStruct成员的默认值]*/
  SDIO_DataInitStruct->SDIO_DataTimeOut = 0xFFFFFFFF;
  SDIO_DataInitStruct->SDIO_DataLength = 0x00;
  SDIO_DataInitStruct->SDIO_DataBlockSize = SDIO_DataBlockSize_1b;
  SDIO_DataInitStruct->SDIO_TransferDir = SDIO_TransferDir_ToCard;
  SDIO_DataInitStruct->SDIO_TransferMode = SDIO_TransferMode_Block;  
  SDIO_DataInitStruct->SDIO_DPSM = SDIO_DPSM_Disable;
}

/*******************************************************************************
* 函数名称: SDIO_GetDataCounter
* 功能描述: Returns number of remaining data bytes to be transferred.[返回发送剩余数据字节数]
* 输入参数: 无
* 输出参数: 无
* 返回参数: Number of remaining data bytes to be transferred[发送剩余数据字节数]
*******************************************************************************/
u32 SDIO_GetDataCounter(void)
{ 
  return SDIO->DCOUNT;
}

/*******************************************************************************
* 函数名称: SDIO_ReadData
* 功能描述: Read one data word from Rx FIFO.[从Rx FIFO读一个数据字]
* 输入参数: 无
* 输出参数: 无
* 返回参数: Data received[接收的数据]
*******************************************************************************/
u32 SDIO_ReadData(void)
{ 
  return SDIO->FIFO;
}

/*******************************************************************************
* 函数名称: SDIO_WriteData
* 功能描述: Write one data word to Tx FIFO.[向Tx FIFO内写一个数据字]
* 输入参数: Data: 32-bit data word to write.[32位的数据字]
* 输出参数: 无
* 返回参数: 无
*******************************************************************************/
void SDIO_WriteData(u32 Data)
{ 
  SDIO->FIFO = Data;
}

/*******************************************************************************
* 函数名称: SDIO_GetFIFOCount
* 功能描述: Returns the number of words left to be written to or read
*                  from FIFO.[返回一个FIFO读写剩余的字数]   
* 输入参数: 无
* 输出参数: 无
* 返回参数: Remaining number of words.[剩余的字数]
*******************************************************************************/
u32 SDIO_GetFIFOCount(void)
{ 
  return SDIO->FIFOCNT;
}

/*******************************************************************************
* 函数名称: SDIO_StartSDIOReadWait
* 功能描述: Starts the SD I/O Read Wait operation.[开始SD I/O读等待操作]
* 输入参数: NewState: new state of the Start SDIO Read Wait operation.[启动读等待操作的新状态]
*                  This parameter can be: ENABLE or DISABLE.[这个参数可以是:ENABLE or DISABLE]
* 输出参数: 无
* 返回参数: 无
*******************************************************************************/
void SDIO_StartSDIOReadWait(FunctionalState NewState)
{ 
  /* Check the parameters [检查参数]*/
  assert_param(IS_FUNCTIONAL_STATE(NewState));
  
  *(vu32 *) DCTRL_RWSTART_BB = (u32) NewState;
}

/*******************************************************************************
* 函数名称: SDIO_StopSDIOReadWait
* 功能描述: Stops the SD I/O Read Wait operation.[停止SD I/O读等待操作]
* 输入参数: NewState: new state of the Stop SDIO Read Wait operation.[停止读等待操作的新状态]
*                  This parameter can be: ENABLE or DISABLE.[这个参数可以是:ENABLE or DISABLE]
* 输出参数: 无
* 返回参数: 无
*******************************************************************************/
void SDIO_StopSDIOReadWait(FunctionalState NewState)
{ 
  /* Check the parameters [检查参数]*/
  assert_param(IS_FUNCTIONAL_STATE(NewState));
  
  *(vu32 *) DCTRL_RWSTOP_BB = (u32) NewState;
}

/*******************************************************************************
* 函数名称: SDIO_SetSDIOReadWaitMode
* 功能描述: Sets one of the two options of inserting read wait interval.[设置两个插入读等待时间选项中的一个]
* 输入参数: SDIOReadWaitMode: SD I/O Read Wait operation mode.[SD I/O读等待模式]
*                  This parametre can be:[这个参数可以是]
*                    - SDIO_ReadWaitMode_CLK: Read Wait control by stopping SDIOCLK[停止SDIOCLK控制读等待]
*                    - SDIO_ReadWaitMode_DATA2: Read Wait control using SDIO_DATA2[SDIO_DATA2控制读等待]
* 输出参数: 无
* 返回参数: 无
*******************************************************************************/
void SDIO_SetSDIOReadWaitMode(u32 SDIO_ReadWaitMode)
{
  /* Check the parameters [检查参数]*/
  assert_param(IS_SDIO_READWAIT_MODE(SDIO_ReadWaitMode));
  
  *(vu32 *) DCTRL_RWMOD_BB = SDIO_ReadWaitMode;
}

/*******************************************************************************
* 函数名称: SDIO_SetSDIOOperation
* 功能描述: Enables or disables the SD I/O Mode Operation.[使能或者禁止SD I/O模式操作]
* 输入参数: NewState: new state of SDIO specific operation.[SDIO指定操作的新状态]
*                  This parameter can be: ENABLE or DISABLE.[这个参数可以是:ENABLE or DISABLE]
* 输出参数: 无
* 返回参数: 无
*******************************************************************************/
void SDIO_SetSDIOOperation(FunctionalState NewState)
{ 
  /* Check the parameters [检查参数]*/
  assert_param(IS_FUNCTIONAL_STATE(NewState));
  
  *(vu32 *) DCTRL_SDIOEN_BB = (u32)NewState;
}

/*******************************************************************************
* 函数名称: SDIO_SendSDIOSuspendCmd
* 功能描述: Enables or disables the SD I/O Mode suspend command sending.[使能或者禁止SD I/O模式中止命令发送]
* 输入参数: NewState: new state of the SD I/O Mode suspend command.[SD I/O模式中止命令发的新状态]
*                  This parameter can be: ENABLE or DISABLE.[这个参数可以是:ENABLE or DISABLE]
* 输出参数: 无
* 返回参数: 无
*******************************************************************************/
void SDIO_SendSDIOSuspendCmd(FunctionalState NewState)
{ 
  /* Check the parameters [检查参数]*/
  assert_param(IS_FUNCTIONAL_STATE(NewState));
  
  *(vu32 *) CMD_SDIOSUSPEND_BB = (u32)NewState;
}

/*******************************************************************************
* 函数名称: SDIO_CommandCompletionCmd
* 功能描述: Enables or disables the command completion signal.[使能或者禁止命令完成信号]
* 输入参数: NewState: new state of command completion signal.[命令完成信号的新状态]
*                  This parameter can be: ENABLE or DISABLE.[这个参数可以是:ENABLE or DISABLE]
* 输出参数: 无
* 返回参数: 无
*******************************************************************************/
void SDIO_CommandCompletionCmd(FunctionalState NewState)
{ 
  /* Check the parameters [检查参数]*/
  assert_param(IS_FUNCTIONAL_STATE(NewState));
  
  *(vu32 *) CMD_ENCMDCOMPL_BB = (u32)NewState;
}

/*******************************************************************************
* 函数名称: SDIO_CEATAITCmd
* 功能描述: Enables or disables the CE-ATA interrupt.[使能或者禁止CE-ATA中断]
* 输入参数: NewState: new state of CE-ATA interrupt.[CE-ATA中断的新状态]
*                  This parameter can be: ENABLE or DISABLE.[这个参数可以是:ENABLE or DISABLE]
* 输出参数: 无
* 返回参数: 无
*******************************************************************************/
void SDIO_CEATAITCmd(FunctionalState NewState)
{ 
  /* Check the parameters [检查参数]*/
  assert_param(IS_FUNCTIONAL_STATE(NewState));
  
  *(vu32 *) CMD_NIEN_BB = (u32)((~((u32)NewState)) & ((u32)0x1));
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -