////////////////////////////////////////////////////////////////////////// /// COPYRIGHT NOTICE /// Copyright (c) 2022, 传控科技 /// All rights reserved. /// /// @file iic_sim /// @brief iic 模拟io 版本, 和cpu无关,唯一需要修改的就是头函数中的管脚定义 /// @info 如无必要请勿修改 ///(本文件实现的功能的详述) /// /// @version 1.1 CCsens technology /// @author CC /// @date 20180102 /// @info 如无必要请勿修改 /// @version 1.2 CCsens technology /// @author CC /// @date 20220404 /// @info 优化init函数 // ////////////////////////////////////////////////////////////////////////// #include "msp_siic1.h" void L0_siic1_SDA_out(vType v) { if(v) { L0_SDA1_OUT(); }else { L0_SDA1_IN(); } } void L0_siic1_SDA(vType v) { /// printf("sda\r\n"); if(v) { L0_SDA1_ON(); }else { L0_SDA1_OFF(); } } vType L0_siic1_SDA_get(void) { if( 0!= L0_SDA1_AT()) { return 1; }else { return 0; } } void L0_siic1_SCL_out(vType v) { if(v) { L0_SCL1_OUT(); }else { L0_SCL1_IN(); } } void L0_siic1_SCL(vType v) { if(v) { L0_SCL1_ON(); }else { L0_SCL1_OFF(); } Lc_delay_us(D_SIIC1_DELAY); } void L0_siic1_close(void) { ///管教设置为高阻态 } void L1_siic1_INIT(vtype openclose) { ts_siic[D_IIC_CH1].n = 0; ts_siic[D_IIC_CH1].sh = D_IIC_CH1; ts_siic[D_IIC_CH1].sal = D_iic1_addr;//unsigned char sal; // ts_siic[D_IIC_CH1].pf_SDA_out = L0_siic1_SDA_out;//void (*pf_SDA_out)(vType x); // ts_siic[D_IIC_CH1].pf_SDA_set = L0_siic1_SDA;//void (*pf_SDA_set)(vType x); // ts_siic[D_IIC_CH1].pf_SDA_get = L0_siic1_SDA_get;//vType (*pf_SDA_get)(void); // ts_siic[D_IIC_CH1].pf_SCL_out = L0_siic1_SCL_out;//void (*pf_SCL_out)(vType x); // ts_siic[D_IIC_CH1].pf_SCL_set = L0_siic1_SCL;//void (*pf_SCL_set)(vType x); // /// ts_siic[D_IIC_CH1].pf_init = L1_siic1_INIT;//void (*pf_init)(void); // if (openclose) { }else { } } /*** TS_siic ts_siic1= { 0,//vU32 n; // 1,//vType sh; // D_iic1_addr,//unsigned char sal; // L0_siic1_SDA_out,//void (*pf_SDA_out)(vType x); // L0_siic1_SDA,//void (*pf_SDA_set)(vType x); // L0_siic1_SDA_get,//vType (*pf_SDA_get)(void); // L0_siic1_SCL_out,//void (*pf_SCL_out)(vType x); // L0_siic1_SCL,//void (*pf_SCL_set)(vType x); // L1_siic1_INIT//void (*pf_init)(void); // }; **/