////////////////////////////////////////////////////////////////////////// /// COPYRIGHT NOTICE /// Copyright (c) 2023 CCSENS /// All rights reserved. /// /// @file iic_sim /// @brief iic 模拟io 版本? 和cpu无关,唯??要修改的就是头函数中的管脚定? /// @info 除了io配置 ,其他地方如无必要请勿修改 ///(本文件实现的功能的详述? /// /// @version 1.1 CCsens technology /// @author CC /// @date 20180102 // ////////////////////////////////////////////////////////////////////////// #ifndef _msp_iicM1_H_ #define _msp_iicM1_H_ #include "c_lib.h" #include "bsp_config.h" #define D_iic_chnum 2 ///>>>端口位定义,可修?!!!!!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> typedef struct { u8 t1[D_iic_chnum]; u8 t0[D_iic_chnum]; }TS_iicm_; extern TS_iicm_ ts_iicm; #if 0 #else #if 10 #define L0_slc_1_delay(x) Lc_delay_nop(x); #define L0_slc_0_delay(x) Lc_delay_nop(x); // 4us #define L0_IICMx_delay(x) ///Lc_delay_us(1) #else #define L0_slc_1_delay() Lc_delay_nop(16); #define L0_slc_0_delay() Lc_delay_nop(8); // 4us #endif #endif //<<<<端口位定义,可修 !!!!!!<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< extern void L2_IICMx_Write1Reg(vtype ch,unsigned char sla,unsigned char reg ); extern void L2_IICMx_ReadReg(vtype ch,unsigned char sla,unsigned char reg,unsigned char *r,unsigned char n); extern void L2_IICMx_WriteCmd(vtype ch,unsigned char sla,unsigned char reg,unsigned char cmd); extern void L0_IICMx_INIT(vtype ch,unsigned char v); ////extern void L2_tws_ReadReg(unsigned char sla,unsigned char reg, //// unsigned char *v); #define L2_tws_ReadReg(ch,x,y,z) L2_IICMx_ReadReg((ch),(x),(y),(z),1) extern unsigned char L2_IICMx_Read1Reg1D(vtype ch,unsigned char sla,unsigned char reg); void L0_IICMx_SCL(vtype ch,vtype v); void L0_IICMx_SDA(vtype ch,vtype v); void L0_IICMx_Stop(vtype ch); #endif// #ifndef _IIC_H_