⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iic.h

📁 让模拟示波器显示任意字符和图片 采用MSP430系列单片机开发
💻 H
字号:
/******************************************************************************
*                              files name IIC.h
*说明:基于430端口的模拟IIC时序头文件
******************************************************************************/

#ifndef __I2C_H__
#define __I2C_H__

/******************************************************************************
*                                定义管脚
*                        P3.1 ---------------SDA
*                        P3.3 ---------------SCL
******************************************************************************/
#define SCL BIT3
#define SDA BIT1




/***********************************************************************
** 函数名称: 	I2C_Set_sck_high
** 功能描述: 	时钟线置1
** 输 入: 	无     
** 输 出:      无
** 全局变量:	无
** 调用模块: 	无
***********************************************************************/
extern void I2C_Set_sck_high(void);



/***********************************************************************
** 函数名称: 	I2C_Set_sck_low
** 功能描述: 	时钟线置0
** 输 入:	无     
** 输 出:      无
** 全局变量:	无
** 调用模块: 	无
***********************************************************************/
extern void I2C_Set_sck_low(void);


/***********************************************************************
** 函数名称: 	I2C_Set_sda_high
** 功能描述: 	数据线置1
** 输 入: 	无     
** 输 出:      无
** 全局变量:	无
** 调用模块: 	无
***********************************************************************/
extern void I2C_Set_sda_high(void);


/***********************************************************************
** 函数名称: 	I2C_Set_sda_low
** 功能描述: 	数据线置0
** 输 入:	无     
** 输 出:      无
** 全局变量:	无
** 调用模块: 	无
***********************************************************************/
extern void I2C_Set_sda_low(void);


/***********************************************************************
** 函数名称: 	I2C_Initial
** 功能描述: 	I2C端口初始化,及时钟线,数据线初始化
** 输 入: 	无     
** 输 出:      无
** 全局变量:	无
** 调用模块: 	I2C_Set_sda_high  I2C_Set_sck_high
***********************************************************************/
extern void I2C_Initial(void);


/***********************************************************************
** 函数名称: 	I2C_GetAck
** 功能描述: 	主机读取ACK信号的函数
** 输 入: i :	无     
** 输 出: unsigned char   输出1 读到ACK值 输出0 未读到ACK值
** 全局变量:	无
** 调用模块: 	I2C_Set_sda_high  I2C_Set_sck_high
**              I2C_Set_sda_low   I2C_Set_sck_low
***********************************************************************/
extern unsigned char I2C_GetAck(void);


/***********************************************************************
** 函数名称: 	I2C_SetAck
** 功能描述: 	主机发送ACK信号的函数
** 输 入: 	unsigned char ack :1 设置ACK 0 设置NACK     
** 输 出:      无
** 全局变量:	无
** 调用模块: 	I2C_Set_sda_high  I2C_Set_sck_high
**              I2C_Set_sda_low   I2C_Set_sck_low
***********************************************************************/
extern void I2C_SetAck(unsigned char ack);


/***********************************************************************
** 函数名称: 	I2C_Start
** 功能描述: 	主机发送START信号
** 输 入: 	无     
** 输 出:      无
** 全局变量:	无
** 调用模块: 	I2C_Set_sda_high  I2C_Set_sck_high
**              I2C_Set_sda_low   I2C_Set_sck_low
***********************************************************************/
extern void I2C_Start(void);


/***********************************************************************
** 函数名称: 	I2C_Stop
** 功能描述: 	主机发送STOP信号
** 输 入: 	无     
** 输 出:      无
** 全局变量:	无
** 调用模块: 	I2C_Set_sda_high  I2C_Set_sck_high
**              I2C_Set_sda_low   I2C_Set_sck_low
***********************************************************************/
extern void I2C_Stop(void);


/***********************************************************************
** 函数名称: 	I2C_TxhTol
** 功能描述: 	主机发送一字节数据 MSB FIRST
** 输 入: 	unsigned char nValue   发送的数据   
** 输 出:      无
** 全局变量:	无
** 调用模块: 	I2C_Set_sda_high  I2C_Set_sck_high
**              I2C_Set_sda_low   I2C_Set_sck_low
***********************************************************************/
extern void I2C_TxhTol(unsigned char nValue);


/***********************************************************************
** 函数名称: 	I2C_RxByte
** 功能描述: 	主机读取一字节数据 
** 输 入: 	无   
** 输 出:      unsigned char  返回读回的数据
** 全局变量:	无
** 调用模块: 	I2C_Set_sda_high  I2C_Set_sck_high
**              I2C_Set_sda_low   I2C_Set_sck_low
***********************************************************************/
extern unsigned char  I2C_RxByte(void);



/***********************************************************************
** 函数名称: 	TWI_write
** 功能描述: 	主机向从机地址为 WSLA  寄存器地址为 addr 的寄存器发送
**              len 字节数据  数据头指针为*buf
** 输 入: 	WSLA 从机读地址  addr 从机寄存器地址
**              *buf 指向发送数据的指针 len 字节数
** 输 出:      无
** 全局变量:	无
** 调用模块: 	I2C_GetAck I2C_SetAck I2C_Start I2C_Stop I2C_TxhTol
***********************************************************************/
extern void TWI_write(unsigned char WSLA,unsigned char addr,
                      unsigned char *buf,unsigned char len);


/***********************************************************************
** 函数名称: 	TWI_read
** 功能描述: 	主机从从机地址为 WSLA  寄存器地址为 addr 的寄存器读取
**              len 字节数据  读取的数据存入指针为*buf的地址
** 输 入: 	WSLA 从机读地址  addr 从机寄存器地址
**              *buf 指向存放读取数据地址的指针 len 字节数
** 输 出:      无
** 全局变量:	无
** 调用模块: 	I2C_GetAck I2C_SetAck I2C_Start I2C_Stop I2C_TxhTol
**              I2C_RxByte 
***********************************************************************/
extern void TWI_read(unsigned char WSLA,unsigned char addr,unsigned char *buf,
                       unsigned char len);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -