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

📄 driver_softiic.h

📁 软件IIC,单片机用软件IIC驱动程序是打发多少
💻 H
字号:
/****************************************************************************
* 文 件 名  :Driver_SoftIIc.h
* 版    本     : V1.0
* 连    接     :
* 功    能     :软件IIC驱动头文件
*   作者       :(Kris)
*   日	期      :2008/8/18
*---------------历史版本信息------------------------------------------
*  修 改 人: Kris
*  版    本    : 
*  日   期:2008/8/18
*  描   述:
****************************************************************************/
#ifndef Driver_SoftIIc_h
#define	Driver_SoftIIc_h
/****************************************************************************
*						包含文件
****************************************************************************/
#include "../../Config.h" 
/****************************************************************************
* 						使用宏
****************************************************************************/
#define	SCL_1()		SET_PIO(13); fm_delay(10)
#define	SCL_0()		CLR_PIO(13); fm_delay(10)
// 切换SDA的输入输出属性,1为输入,0为输出
#define	SWITCH_SDA(XXX) if(XXX)	SET_PIO_INPUT( (0x1UL<<14) ); else SET_PIO_OUTPUT( (0x1UL<<14) )
// 往SDA发送数据
#define	SET_SDA(XXX)	if(XXX) SET_PIO(14);else CLR_PIO(14); fm_delay(10)

#define	GET_SDA()	(GET_PIO()&(0x1UL<<14))
// 地址选择
#define	DEV_A0		0
#define	DEV_A1		1

#define IIC_READ 	(0XA1|(DEV_A1<<2)|(DEV_A0<<1)) //
#define IIC_WRITE 	(0XA0|(DEV_A1<<2)|(DEV_A0<<1)) //
#define REG_READ 	(0XD1|(DEV_A1<<2)|(DEV_A0<<1))
#define REG_WRITE 	(0XD0|(DEV_A1<<2)|(DEV_A0<<1))

#define RUN 		1
#define STOP 		0
/****************************************************************************
* 						使用数据
****************************************************************************/
																// 操作贮存
/****************************************************************************
*						使用函数
****************************************************************************/
void iic_Init(void);
//=======================================
void iic_start(void);
//=======================================
//FUNCTION:ROUTES TO PROVIDE A STOP SIGNAL
void iic_stop(void);
//=====================================
//FUNCTION:ROUTES TO PROVIDE ACK SINGAL
void iic_ack(void);
//=====================================
void iic_noack(void);
//=======================================================
//FUNCTION:THE IIC DEVICE SHIFT OUT A BYTE TO THE MASTER
UCHAR iic_inchar(void) ;
BOOL iic_outchar(UCHAR dat) ;
//======================================================
//FUNCTION:BYTE WRITE. 'add' THE WRITE ADDRESS, 'wbyte' THE DATA WANT TO WRITE
void write_char(UINT add,UCHAR dat);
//=====================================================
void write_int(WORD add,WORD dat);
#endif

⌨️ 快捷键说明

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