structure.h

来自「根据I2C协议传输的源代码」· C头文件 代码 · 共 49 行

H
49
字号
#include "DEF.H"

union uSend
{
	struct
		{
			unsigned char bCurrent:1;			//记录SCL的当前状态
			unsigned char bPrevious:1;		//记录SCL的之前状态
			unsigned char bFree:5;
			unsigned char bData:1;				//发送数据的bit位
		}bits;
	unsigned char ucValue;	
};

union uReceive
{
	struct
		{
			unsigned char bData:1;				//接收数据的bit位
			unsigned char bFree:7;
		}bits;
	unsigned char ucValue;
};

union uMode
{
	struct
		{
			unsigned char bFree:6;			
			unsigned char bSDA:1;			//SDA脚的接制位
			unsigned char bSCL:1;			//SDA脚的接制位
		}bits;
	unsigned char ucValue;				//I2C的pin脚状态
};

struct sI2C
{
	unsigned char bPulseBusy:1;		//输出Pulse的Busy标志位
	unsigned char bPulse:1;				//输出Pulse的电平标志位
	union uSend uSend;						//发送Byte的临时变量。
	union uReceive uReceive;			//接收Byte的临时变量。
	union uMode uMode;						//I2C的pin脚状态。
	unsigned char ucPulseNumber;	//发送脉冲的总数。
	unsigned char ucID;						//Slave的ID。
	unsigned char ucCommand;			//Slave接收的命令。
	unsigned char ucDataNumber;		//数据Buffer总数。
	unsigned char ucData[DATA_MAX];	//数据Buffer。
};

⌨️ 快捷键说明

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