open_i2c.h
来自「参加今年的比赛肯定要用的。谢谢支持。祝大家好运!」· C头文件 代码 · 共 69 行
H
69 行
#ifndef __Open_I2C_H__
#define __Open_I2C_H__
// Open_I2C
#define I2C_PRER_LO 0
#define I2C_PRER_HI 1
#define I2C_CTR 2
#define I2C_TXR 3
#define I2C_RXR 3
#define I2C_CR 4
#define I2C_SR 4
//-------------------------------------------------------------------------
typedef union _I2C_Ctrl_Reg
{
struct _I2C_Ctrl_Flags
{
unsigned char RESERVED : 6;
unsigned char INT_ENABLE : 1;
unsigned char CORE_ENABLE : 1;
}I2C_Ctrl_Flags;
unsigned char Value;
}I2C_Ctrl_Reg;
//-------------------------------------------------------------------------
typedef union _I2C_CMD_Reg
{
struct _I2C_CMD_Flags
{
unsigned char IACK : 1;
unsigned char RESERVED : 2;
unsigned char ACK : 1;
unsigned char WR : 1;
unsigned char RD : 1;
unsigned char STO : 1;
unsigned char STA : 1;
}I2C_CMD_Flags;
unsigned char Value;
}I2C_CMD_Reg;
//-------------------------------------------------------------------------
typedef union _I2C_Status_Reg
{
struct _I2C_Status_Flags
{
unsigned char IF : 1;
unsigned char TIP : 1;
unsigned char RESERVED : 3;
unsigned char AL : 1;
unsigned char BUSY : 1;
unsigned char RXACK : 1;
}I2C_Status_Flags;
unsigned char Value;
}I2C_Status_Reg;
//-------------------------------------------------------------------------
unsigned int I2C_Read_Period();
unsigned char I2C_Read_Ctrl();
unsigned char I2C_Read_RX();
unsigned char I2C_Read_Status();
void I2C_Write_Period(unsigned int Period);
void I2C_Write_Ctrl(unsigned char value);
void I2C_Write_TX(unsigned char value);
void I2C_Write_CMD(unsigned char value);
void I2C_Init(unsigned int Period);
unsigned char I2C_Send(unsigned char value,unsigned char STA,unsigned char STO);
//-------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?