64 lines
1.8 KiB
C
64 lines
1.8 KiB
C
#ifndef _IIC_H_
|
|
#define _IIC_H_
|
|
|
|
#include "generic/typedef.h"
|
|
typedef unsigned int tu8, tbool ;
|
|
|
|
void iic_write(u8 chip_id, u8 iic_addr, u8 *iic_dat, u8 n);
|
|
void iic_readn(u8 chip_id, u8 iic_addr, u8 *iic_dat, u8 n);
|
|
void iic_init(void);
|
|
void iic_init_io(void);
|
|
void write_info(u8 addr, u8 dat);
|
|
tu8 read_info(u8 addr);
|
|
|
|
void write_eerom(u8 addr, u8 dat);
|
|
tu8 read_eerom(u8 iic_addr);
|
|
void eeprom_page_write_stop(void);
|
|
void eeprom_page_write_start(void);
|
|
void eeprom_verify(void);
|
|
|
|
void iic_start(void);
|
|
void iic_stop(void);
|
|
void iic_sendbyte_io(u8 byte);
|
|
void iic_sendbyte(u8 byte);
|
|
tu8 iic_revbyte(u8 para);
|
|
|
|
extern bool g_iic_busy;
|
|
|
|
//#define iic_delay() delay(3000)
|
|
#define iic_delay() delay(100)
|
|
|
|
|
|
#define IIC_PORT JL_PORTB
|
|
#define IIC_DATA_PORT 5
|
|
#define IIC_CLK_PORT 6
|
|
|
|
#define iic_clk_out() do{IIC_PORT->DIR &= ~BIT(IIC_CLK_PORT);IIC_PORT->PU &= ~BIT(IIC_CLK_PORT);}while(0)
|
|
#define iic_clk_h() do{IIC_PORT->OUT |= BIT(IIC_CLK_PORT);IIC_PORT->DIR &=~BIT(IIC_CLK_PORT);}while(0)
|
|
#define iic_clk_l() do{IIC_PORT->OUT &=~BIT(IIC_CLK_PORT);IIC_PORT->DIR &=~BIT(IIC_CLK_PORT);}while(0)
|
|
|
|
#define iic_data_out() do{IIC_PORT->DIR &= ~BIT(IIC_DATA_PORT);IIC_PORT->PU &= ~BIT(IIC_DATA_PORT);}while(0)
|
|
#define iic_data_in() do{IIC_PORT->DIR |= BIT(IIC_DATA_PORT);IIC_PORT->PU |= BIT(IIC_DATA_PORT);}while(0)
|
|
#define iic_data_r() (IIC_PORT->IN&BIT(IIC_DATA_PORT))
|
|
#define iic_data_h() do{IIC_PORT->OUT |= BIT(IIC_DATA_PORT);IIC_PORT->DIR &= ~BIT(IIC_DATA_PORT);}while(0)
|
|
#define iic_data_l() do{IIC_PORT->OUT &=~BIT(IIC_DATA_PORT);IIC_PORT->DIR &= ~BIT(IIC_DATA_PORT);}while(0)
|
|
|
|
/*
|
|
#define app_IIC_write(a, b, c, d) \
|
|
iic_write(a, b, c, d)
|
|
#define app_IIC_readn(a, b, c, d) \
|
|
iic_readn(a, b, c, d)
|
|
#define app_E2PROM_write(a, b) \
|
|
write_eerom(a, b)
|
|
#define app_E2PROM_read(a) \
|
|
read_eerom(a)
|
|
*/
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|