////////////////////////////////////////////////////////////////////////// /// COPYRIGHT NOTICE /// Copyright (c) 2018, 传控科技 /// All rights reserved. /// /// @file iic_sim /// @brief iic 模拟io 版本, 和cpu无关,唯一需要修改的就是头函数中的管脚定义 /// @info 除了io配置 ,其他地方如无必要请勿修改 ///(本文件实现的功能的详述) /// /// @version 1.1 CCsens technology /// @author CC /// @date 20180102 // ////////////////////////////////////////////////////////////////////////// #ifndef _IIC_SIM_H_ #define _IIC_SIM_H_ #include "../clib/type.h" #include "../clib/clib.h" #include "../ctask/tick.h" ///>>>端口位定义,可修改!!!!!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> #include "../cpu/stc_stc8a8k.h" #include "../cpu/c51_macro.h" //根据sch的定义 #define L0_IIC_SIM_INIT() BITN_0(P3M1,3);BITN_0(P3M0,3);\ BITN_0(P3M1,2);BITN_0(P3M0,2); ///stc独有10 高阻 #define L0_IIC_SIM_close() BITN_1(P3M1,3);BITN_0(P3M0,3);\ BITN_1(P3M1,2);BITN_0(P3M0,2); #define L0_SDA_ON() D_P33_ON() #define L0_SDA_OFF() D_P33_OFF() #define L0_SDA_AT() D_P33_AT() #define L0_SCL_ON() D_P32_ON() #define L0_SCL_OFF() D_P32_OFF() #if 0 //// for stc 11.0M #define delay10us() NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();///Lc_delay_us(1) //根据cpu的速率进行相应的调整 #define L0_I2C_delay(x) NOP();NOP();///Lc_delay_us(x) #else ///#define delay10us() NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();///Lc_delay_us(1) //根据cpu的速率进行相应的调整 ///#define L0_I2C_delay(x) NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();///Lc_delay_us(x) #define delay10us() Lc_delay_us(3000) //根据cpu的速率进行相应的调整 #define L0_I2C_delay(x) Lc_delay_us(10000) #endif //<<<<端口位定义,可修改!!!!!!<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< extern void L2_I2C_ReadReg(unsigned char sla,unsigned char reg,unsigned char *r,unsigned char n); extern void L2_I2C_WriteCmd(unsigned char sla,unsigned char reg,unsigned char cmd); extern void L0_I2C_INIT(unsigned char v); extern void L2_tws_ReadReg(unsigned char sla,unsigned char reg, unsigned char *v); #endif// #ifndef _IIC_H_