BF533实现CF卡的各种状态请求功能
0赞
发表于 5/4/2012 8:29:22 AM
阅读(2051)
#include "dm_bf5xx.h"
/****************************************************************************
* 名称 : CF_Soft_Reset
* 功能 : 复位CF卡
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
void CF_Soft_Reset(void)
{
*RESET_REG = CF_SRESET;
udelay(1000);
*RESET_REG = 0x00;
}
/****************************************************************************
* 名称 : Check_CF_Busy
* 功能 : 检查CF卡忙状态
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
void Check_CF_Busy(void)
{
while( *STATUS_REGISTER & CF_Busy_FLAG);
}
/****************************************************************************
* 名称 : Check_CF_RDY_Status
* 功能 : 检查CF卡是否准备好
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
void Check_CF_RDY_Status(void)
{
while(!( *STATUS_REGISTER & CF_RDY_FLAG));
}
/****************************************************************************
* 名称 : Check_CF_ERR_Status
* 功能 : 检查CF卡是否出错
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
void Check_CF_ERR_Status(void)
{
while(( *STATUS_REGISTER & CF_ERR_FLAG));
}
/****************************************************************************
* 名称 : Check_CF_DRQ_Status
* 功能 : 检查CF卡DRQ状态
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
void Check_CF_DRQ_Status(void)
{
while(1)
{
if( (*STATUS_REGISTER & 0xff00 ) == 0x5800)break;
}
}
