88 lines
2.0 KiB
C
88 lines
2.0 KiB
C
#ifndef JW3425IIC_H
|
||
#define JW3425IIC_H
|
||
|
||
#include "base/define.h"
|
||
#include "gpio_cfg.h"
|
||
|
||
#define SDA_IN() IIC_SDA_DIR(1) //PB11输入模式
|
||
#define SDA_OUT() IIC_SDA_DIR(0)//PB11输出模式
|
||
#define IIC_SDA(x) PBout(I2IC_SDA_Pin_Nu)=(x)
|
||
#define IIC_SCL(x) PBout(I2IC_SCL_Pin_Nu)=(x)
|
||
#define READ_SDA (PBin(I2IC_SDA_Pin_Nu)&0x01)
|
||
#define IIC_PLUS_DELAY 5
|
||
#define I2C_OPERATION_OUTTIME 100000
|
||
|
||
void I2C_init(void);
|
||
void I2C_Definit(void);
|
||
void IIC_SDA_DIR(uint8_t dir);
|
||
int32_t I2C_master_write(uint16_t address, uint8_t *src, uint32_t size, uint32_t *nwriten, uint8_t bi_dir);
|
||
/* @param bi_dir: option using in transceive */
|
||
int32_t I2C_master_read(uint16_t address, uint8_t *dst, uint32_t size, uint32_t *nread, uint8_t bi_dir);
|
||
/* @param bi_dir: option using in transceive */
|
||
int32_t I2C_master_write_read(uint16_t address, uint8_t*cmd, uint8_t cmd_size,uint8_t *dst, uint32_t read_size, uint32_t *nread);
|
||
/*
|
||
@brief Vref电压校准
|
||
@param0 0不更新,1更新
|
||
@param1 校准值
|
||
*/
|
||
void MC_VrefTrim(void);
|
||
/*
|
||
@brief Iref电压校准
|
||
@param0 Iref1 0不更新,1更新
|
||
@param1 Iref2 0不更新,1更新
|
||
@param2 Iref1 校准值
|
||
@param3 Iref2 校准值
|
||
*/
|
||
void MC_IrefTrim(void);
|
||
/*
|
||
@brief Iref1电压校准
|
||
@param0 0不更新,1更新
|
||
@param1 校准值
|
||
*/
|
||
void MC_RC4MTrim(void);
|
||
/*
|
||
@brief RC128K校准
|
||
@param0 0不更新,1更新
|
||
@param1 校准值
|
||
*/
|
||
void MC_RC128KTrim(void);
|
||
|
||
/*
|
||
@brief 设置MTP电压
|
||
@param0 低压
|
||
@param1 高压
|
||
*/
|
||
void MC_SetMTPVol(void);
|
||
/*
|
||
@brief 设置MTP电压
|
||
@param0 MTP地址
|
||
@param1 擦除模式
|
||
*/
|
||
void MC_EraseMTP(void);
|
||
/*
|
||
@brief MTP写入数据
|
||
@param0..N 编程数据
|
||
*/
|
||
void MC_IICWriteMTP(void);
|
||
/*
|
||
@brief MTP读数据
|
||
@param0 读取数据字节长度
|
||
*/
|
||
void MC_IICReadMTP(void);
|
||
/*
|
||
@brief MTP状态查询
|
||
*/
|
||
void MC_IICCheckMTPState(void);
|
||
/*
|
||
@brief MTP下载程序
|
||
@param 更新地址
|
||
@param 烧录长度
|
||
*/
|
||
void MC_IICUpdateMTP(void);
|
||
/*
|
||
@brief MTP使能或失能
|
||
@param0 0失/1使能
|
||
*/
|
||
void MC_IICEnMTP(void);
|
||
#endif
|