📄 i2c.h
字号:
/***************************************************
*文件名:I2C.h
*描述:提供I2C的底层驱动,可选的400K或100K速度。
*日期:2004/11/10
*****************************************************/
#ifndef I2C_H
#define I2C_H
#include <msp430x14x.h>
#ifndef TRUE
#define TRUE 1
#define true 1
#endif
#ifndef FALSE
#define FALSE 0
#define false 0
#endif
#ifndef uchar
#define uchar unsigned char
#define UCHAR uchar
#endif
#ifndef uint
#define uint unsigned int
#define UINT uint
#endif
#ifndef ulong
#define ulong unsigned long
#define ULONG ulong
#endif
#ifndef bool
#define bool unsigned char
#define BOOL bool
#endif
#ifndef CONST
#define CONST const
#endif
#ifdef I2C_C
/********************************************内部定义*******************************************/
#define I2C_100K 0 //100K速度模式
#define I2C_400K 1 //400K速度模式
/*********************************************配置参数******************************************/
#define I2C_SPEED I2C_100K //配置速度为100K
//通讯端口配置
#define CLR_SCL() P2DIR |= 0X02;P2OUT &= ~0X02
#define SET_SCL() P2DIR &= ~0x02
#define CLR_SDA() P2DIR |= 0X04;P2OUT &= ~0X04
#define SET_SDA() P2DIR &= ~0X04
#define READ_SDA() (P2IN&0X04)
#define NOP() _NOP() //空等待
#endif
/********************************************外部接口函数***************************************/
/**********************************************************
*函数性质:公共
*入口:无
*出口:无
*功能:启动I2C。
************************************************************/
void I2cStart(void);
/*****************************************************
*函数性质:公共
*入口:无
*出口:无
*功能:停止I2C。
*******************************************************/
void I2cStop(void);
/****************************************************
*函数性质:公共
*入口:无
*出口:应答标志,true:检测到应答标志,false:无应答标志
*功能:检测从机的应答标志
*******************************************************/
bool WaitAck(void);
/*******************************************************
*函数性质:公共
*入口:无
*出口:无
*功能:发送应答标志
******************************************************/
void SendAck(void);
/*****************************************************
*函数性质:公共
*入口:无
*出口:无
*功能:发送非应答标志
*****************************************************/
void SendNotAck(void);
/*****************************************************
*函数性质:
*入口:待发送的字符
*出口;发送成功标志,true 发送成功 false 发送失败
*功能:向I2C接口发送一个字符
*****************************************************/
bool I2cSend(uchar ucData);
/*******************************************************
*函数性质:公共
*入口:无
*出口:从I2C接口接收到的数据
*功能:从I2C接口接收一个数据。
********************************************************/
uchar I2cReceive(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -