//___________________________________________________________________
//___________________________________________________________________
//  Copyright : 2015 BY HOLTEK SEMICONDUCTOR INC
//  File Name : MasterII.h
// Description: IO模擬IIC主機
//     Note   : ROM SIZE 230 RAM 依據接收發送BUF不同大小不一,最小約15Byte以上
//___________________________________________________________________
//___________________________________________________________________

#ifndef _IIC_MasterIIC_H
#define _IIC_MasterIIC_H
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Userdefine @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

// IIC CLOCK
#define	IIC_SPEED	30          // IIC Clock = 1/( instruction cycles*N)
// IIC Slave Address
#define IIC_ADDRESS 0xA0        // IIC Slave Address
// IIC SDA
#define IIC_SDA_OUTPUTMODE()    { _pac4 = 0;}
#define IIC_SDA_INPUTMODE()     { _pac4 = 1;}
#define IIC_SDA_OUTPUTHIHG()    { _pa4  = 1;}
#define IIC_SDA_OUTPUTLOW()     { _pa4  = 0;}
#define IIC_SDA_ISHIGH()          _pa4 == 1
#define IIC_SDA                   _pa4
// IIC SCL
#define IIC_SCL_OUTPUTMODE()    { _pac5 = 0;}
#define IIC_SCL_INPUTMODE()     { _pac5 = 1;}
#define IIC_SCL_OUTPUTHIGH()    { _pa5  = 1;}
#define IIC_SCL_OUTPUTLOW()     { _pa5  = 0;}

#define IIC_RXDATALENGHT	3
#define IIC_TXDATALENGHT	3
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 共用函數 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
void Drv_IICWrite_Data(unsigned char Slave_Address,unsigned char WriteLength);
void Drv_IICRead_Data(unsigned char Slave_Address,unsigned char ReadLength);
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 共用變量 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

extern volatile unsigned char gu8v_IIC_RData[IIC_RXDATALENGHT],gu8v_IIC_WData[IIC_TXDATALENGHT];

#endif