?? si4702_common.h
字號:
/******************************************************
START condition:
SCLK: -----------|______
SDIO:-----|_____________
1 | 2 | 3
STOP condition:
SCLK: ____|--------------
SDIO:____________|-------
1 | 2 | 3
DATA:
SCLK:_______________|---|________|----|_______
SDIO:___________|------------|____________|----
|<==========>|
RESET:
SENB:__|---------------------------------------------
SDIO:_________________________________________|------
RST: ___________|------------------------------------
SCLK:__|---------------------------------------------
| 1 | 2 | 3
********************************************************/
/********************************************************
following macro should be defined by customer
********************************************************/
#define DURATION_INIT_1 600ns mininum
#define DURATION_INIT_2 600ns minimum
#define DURATION_INIT_3 600ns minimum
#define DURATION_START_1 600ns minimum
#define DURATION_START_2 600ns minimum
#define DURATION_START_3 800ns minimum
#define DURATION_STOP_1 800ns minimum
#define DURATION_STOP_2 600ns minimum
#define DURATION_STOP_3 1300ns minimum
#define DURATION_HIGH 900ns minimum
#define DURATION_LOW 1600ns minimum
#define POWER_SETTLING 110ms
#define XO_SETTLING 500ms
#define RST_PIN XX
#define SDIO_PIN XX
#define SCLK_PIN XX
/********************************************************
following macro related to MTK solution
********************************************************/
#define GPIO_INPUT 0 /* IO in input */
#define GPIO_OUTPUT 1 /* IO in output */
#define RST_LOW GPIO_WriteIO(0, RST_PIN) //set RST to low
#define RST_HIGH GPIO_WriteIO(1, RST_PIN) //set RST to high
#define SDIO_DIR_OUT GPIO_InitIO(GPIO_OUTPUT, SDIO_PIN) //set SDIO to output mode
#define RST_DIR_OUT GPIO_InitIO(GPIO_OUTPUT, RST_PIN) //set RST to output mode
#define SCLK_DIR_OUT GPIO_InitIO(GPIO_OUTPUT, SCLK_PIN) //set SCLK to output mode
#define SDIO_DIR_IN GPIO_InitIO(GPIO_INPUT, SDIO_PIN) //set SDIO to input mode
#define SDIO_LOW GPIO_WriteIO(0, SDIO_PIN) //set SDIO to low
#define SDIO_HIGH GPIO_WriteIO(1, SDIO_PIN) //set SDIO to high
#define READ_SDIO GPIO_ReadIO(SDIO_PIN) //read SDIO routine, should return 0 or 1
#define SCLK_LOW GPIO_WriteIO(0, SCLK_PIN) //set SCLK to low
#define SCLK_HIGH GPIO_WriteIO(1, SCLK_PIN) //set SCLK to high
#define RST_PIN_INIT GPIO_ModeSetup(RST_PIN, 0) //init GPIO RST
#define SDIO_PIN_INIT GPIO_ModeSetup(SDIO_PIN, 0) //init GPIO SDIO
#define SCLK_PIN_INIT GPIO_ModeSetup(SCLK_PIN, 0) //init GPIO SCLK
#define DELAY(DURATION) {volatile unsigned short i; for(i = 1; i <= DURATION; i++){}}
/********************************************************
typedef and function claim
********************************************************/
typedef enum OPERA_MODE {
READ = 1,
WRITE = 2
} T_OPERA_MODE;
typedef enum ERROR_OP {
OK = 1,
I2C_ERROR = 2,
LOOP_EXP_ERROR = 3,
ERROR = 4
} T_ERROR_OP;
typedef enum SEEK_MODE {
SEEKDOWN_HALT = 1,
SEEKDOWN_WRAP = 2,
SEEKUP_HALT = 3,
SEEKUP_WRAP = 4
} T_SEEK_MODE;
/*Si4702 internal use routine claim*/
unsigned char OperationSi47XX_2w(T_OPERA_MODE operation, unsigned char *data, unsigned char numBytes);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -