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.

146 lines
2.6 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_siic3.h"
TS_siic ts_siic3;
/*------------------------------------------------
˿ڶ
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_siic3_SDA_out(vType v )
{
if(v)
{
L0_SDA3_OUT();
}else
{
L0_SDA3_IN();
}
}
void L0_siic3_SDA(vType v)
{
if(v)
{
L0_SDA3_ON();
}else
{
L0_SDA3_OFF();
}
}
vType L0_siic3_SDA_get(void)
{
if( 0!= L0_SDA3_AT())
{
return 1;
}else
{
return 0;
}
}
void L0_siic3_SCL_out(vType v)
{
if(v)
{
L0_SCL3_OUT();
}else
{
L0_SCL3_IN();
}
}
void L0_siic3_SCL(vType v)
{
if(v)
{
L0_SCL3_ON();
}else
{
L0_SCL3_OFF();
}
Lc_delay_us(D_SIIC3_DELAY);
}
void L0_siic3_close(void)
{
///�ܽ�����Ϊ����̬
}
void L1_siic3_INIT(void)
{
ts_siic3.pf_SDA_out = L0_siic3_SDA_out;
ts_siic3.pf_SDA_set = L0_siic3_SDA;
ts_siic3.pf_SDA_get = L0_siic3_SDA_get;
ts_siic3.pf_SCL_out = L0_siic3_SCL_out;
ts_siic3.pf_SCL_set = L0_siic3_SCL;
ts_siic3.pf_close = L0_siic3_close;
/// ts_siic3.sal = D_iic3_addr;
/// L0_iicx_SendData(&ts_siic3,0xaa);
}