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
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�� ��
|
||
|
������ΪNA������������LSB֮����Ӧ���ͷ�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);
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|