📄 sd_entry.c
字号:
/************************************************************************************/
/* */
/* Copyright (C) 2004 Medeli Electric Industry Co., LTD. */
/* */
/* System Name : IC-1000 */
/* File Name : sd_init.c */
/* Revision : 1.00 */
/* Date : 2006/4/6 */
/* Initial version */
/* Joe's work */
/************************************************************************************/
#include "..\common\inc\44b.h"
#include "..\common\inc\common.h"
#include "..\sio\sio.h"
#include "sd_public.h"
#include "sd_base.h"
#include "sd_cmd.h"
#include "sd_hal.h"
#include "sd_declaration.h"
/*******************************Constants************************************/
/**************************Variable Declaration******************************/
/********************************Locoal**************************************/
/*******************************External*************************************/
/**************************Function Declaration******************************/
/********************************Locoal**************************************/
/*******************************External*************************************/
/***************************Start of program*********************************/
#include "sd_cmd_tab.c"
#include "sd_crc.c"
#include "sd_init.c"
#include "sd_read_write.c"
#include "sd_base.c"
/****************************************************************************/
/* initial sd card interface */
/* Function : init_sd */
/* Parameters */
/* Input : Nothing */
/* Output : Nothing */
/****************************************************************************/
//extern void mp3_play_prc(void);
//extern void test_fs_mp3(void);
extern void fkey_prc(void);
extern void io_prc(void);
void init_sd(void)
{
UBYTE i;
for(i=0;i<SD_EXPRC_NUM;i++)
{
sd_exprc.normal[i]=(SD_EXPRC_PT)(&sd_empty_prc);
}
sd_exprc.normal[0]=(SD_EXPRC_PT)(&sd_empty_prc);
sd_exprc.normal[1]=(SD_EXPRC_PT)(&io_prc);
sd_exprc.normal[2]=(SD_EXPRC_PT)(&fkey_prc);
sd_exprc.using_sio=(SD_EXPRC_PT)(&sd_empty_prc);
return;
}
/****************************************************************************/
/* initial sd card interface */
/* Function : init_sd */
/* Parameters */
/* Input : Nothing */
/* Output : Nothing */
/****************************************************************************/
UBYTE sd_write_data(UWORD dst_addr,UWORD src_addr,UWORD length)
{
UBYTE ret=SD_ERROR;
sd_vars.short_timer=0;
SD_CS_ASSERT;
if((!(dst_addr%SD_BLOCK_LENGTH))&&(1/* address is inside the card */))
{
sd_pack_com_para(sd_vars.com_para,dst_addr);
if((sd_send_cmd(CMD25,sd_vars.com_para,0,sd_vars.resp)==SD_OK)&&(!sd_vars.resp[0]))
{
ret=sd_write_blocks(src_addr,dst_addr,length);
}
}
SD_CS_DEASSERT;
return ret;
}
/****************************************************************************/
/* initial sd card interface */
/* Function : init_sd */
/* Parameters */
/* Input : Nothing */
/* Output : Nothing */
/****************************************************************************/
UBYTE sd_read_data(UWORD src_addr,UWORD dst_addr,UWORD length)
{
UBYTE ret=SD_ERROR;
if(!(src_addr%SD_BLOCK_LENGTH))
{
ret=sd_read_blocks(src_addr,dst_addr,length);
}
return ret;
}
/****************************************************************************/
/* initial sd card interface */
/* Function : init_sd */
/* Parameters */
/* Input : Nothing */
/* Output : Nothing */
/****************************************************************************/
void sd_empty_prc(void)
{
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -