#ifndef _USIM_API_H_
#define _USIM_API_H_

//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 共用函數 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#define TXBUF_LENGTH    20
#define RXBUF_LENGTH    20
typedef struct
{
    unsigned char RxBuf[RXBUF_LENGTH];
    unsigned char TxBuf[TXBUF_LENGTH];
    unsigned char RxOffset;
    unsigned char TxOffset;
    unsigned char RxLength;
    unsigned char TxLength;
    unsigned char RxTimeOut;
	union {
		struct
		{
			unsigned char TxIsBusy : 1;
			unsigned char RxIsOK : 1;
		} b;
		unsigned char byte;
	} flag;
} USIM_STRUCT;

//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 共用變量 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
void fun_USIM_PowerOn();
void fun_USIM_PowerDown();

void fun_UartTimeOutReset();
unsigned char fun_SIMSPI_TxRxByte(unsigned char txData);
void fun_UartStartTx(unsigned char TxLength);
extern volatile USIM_STRUCT USIM_Data;


#endif
