#ifndef __HARDIIC_H
#define __HARDIIC_H

#include "sys.h"
#include "delay.h"

#define  HARDIIC_IICX         0x80        //将IIC设置为P1_5,P1_4
#define  HARDIIC_SCL_OUT      {P1M1|=0x20;P1M0|=0x20;}   //开漏输出
#define  HARDIIC_SDA_OUT      {P1M1|=0x10;P1M0|=0x10;}   //开漏输出

void hardiic_init();	//硬件iic初始化
void hardiic_start();	//发送起始信号
void hardiic_stop();	//发送停止信号
uint8 hardiic_wait_ack(); //等待应答
void hardiic_ack();	//发送ACK信号
void hardiic_nack();	//发送NACK信号
void hardiic_send_byte(uint8 iic_data);	//发送一个字节数据
uint8 hardiic_read_byte();	//读取一个字节数据
void hardiic_read_nbyte(uint8 device_addr, uint8 reg_addr, uint8 *p, uint8 number);	//IIC读取n个字节数据
void hardiic_write_nbyte(uint8 device_addr, uint8 reg_addr, uint8 *p, uint8 number);	//IIC写入n个字节数据

#endif          //hardiic
