Files
checker_slave/source/elec_det/hardware/jw3425iic.h
2023-10-06 18:47:05 +08:00

88 lines
2.0 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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