You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

151 lines
3.0 KiB

1 year ago
//////////////////////////////////////////////////////////////////////////
/// COPYRIGHT NOTICE
/// Copyright (c) 2018, 传控科技
/// All rights reserved.
///
/// @file iic_sim
/// @brief iic 模拟io 版本, 和cpu无关,唯一需要修改的就是头函数中的管脚定义
/// @info 如无必要请勿修改
///(本文件实现的功能的详述)
///
/// @version 1.1 CCsens technology
/// @author CC
/// @date 20180102
//
//////////////////////////////////////////////////////////////////////////
#include "msp_siic2.h"
TS_siic ts_siic2;
/*------------------------------------------------
I2C总线传输数据过程中
SDA 线
使9
6
I2C总线标准规定 0 ACK
A 1 NACK
NALSB之后SDA线SDA
void (*pf_SDA_out)(vType x);
void (*pf_SDA_set)(vType x);
vType (*pf_SDA_get)(void);
void (*pf_SCL_out)(vType x);
void (*pf_SCL_set)(vType x);
/// void (*pf_init)(void);
void (*pf_close)(void);
------------------------------------------------*/
///<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
void L0_siic2_SDA_out(vType v )
{
if(v)
{
L0_SDA2_OUT();
}else
{
L0_SDA2_IN();
}
}
void L0_siic2_SDA(vType v)
{
if(v)
{
L0_SDA2_ON();
}else
{
L0_SDA2_OFF();
}
}
vType L0_siic2_SDA_get(void)
{
if( 0!= L0_SDA2_AT())
{
return 1;
}else
{
return 0;
}
}
void L0_siic2_SCL_out(vType v)
{
if(v)
{
L0_SCL2_OUT();
}else
{
L0_SCL2_IN();
}
}
void L0_siic2_SCL(vType v)
{
if(v)
{
L0_SCL2_ON();
}else
{
L0_SCL2_OFF();
}
Lc_delay_us(D_SIIC2_DELAY);
}
void L0_siic2_close(void)
{
///管教设置为高阻态
}
void L1_siic2_INIT(void)
{
ts_siic2.pf_SDA_out = L0_siic2_SDA_out;
ts_siic2.pf_SDA_set = L0_siic2_SDA;
ts_siic2.pf_SDA_get = L0_siic2_SDA_get;
ts_siic2.pf_SCL_out = L0_siic2_SCL_out;
ts_siic2.pf_SCL_set = L0_siic2_SCL;
ts_siic2.pf_close = L0_siic2_close;
L0_iicx_SendData(&ts_siic2,0xaa);
ts_siic2.sal = D_iic2_addr;
}