📄 twi.h
字号:
/*-----------------------------------------------------------------------
延时函数
系统时钟:8M
-----------------------------------------------------------------------*/
#ifndef TWI_H
#define TWI_H
#ifdef TWI_C //自身文件识别标志符,当识别到是自身c文件,不定义为extern
#define EXTERN
#else
#define EXTERN extern
#endif //#ifdef TWI_C
/*
#ifdef TWI_C
//只对自身c文件有效的一些定义,如果没有此部分可以省略
#endif
*/
/*******************************************************************
TWI状态/控制寄存器定义
********************************************************************/
#define TWI_BUFFER_SIZE 11
//一次读写最大数据字节个数+1字节的从机地址+命令/内部地址字节数
#define TWI_TWBR 0x0C //TWI bit rate Register setting
//常量的定义区
//全局变量的定义区
//EXTERN uchar TWI_statusReg;
EXTERN void TWI_Master_Initialise(void);
EXTERN char TWI_Transceiver_Busy(void);
EXTERN char TWI_Get_State_Info(void);//发送数据包
EXTERN void TWI_Start_Transceiver_With_Data(uchar *,uchar);//检验数据包是否发送完成
EXTERN void TWI_Start_Transceiver(void);
EXTERN uchar TWI_Get_Data_From_Transceiver(uchar *,uchar);
/*******************************************************************
Bit and byte definations
********************************************************************/
#define TWI_READ_BIT 0
#define TWI_ADR_BITS 1
#define TRUE 1
#define FALSE 0
/*******************************************************************
TWI状态字
********************************************************************/
//General TWI Master staus codes
#define TWI_START 0x08
#define TWI_REP_START 0x10
#define TWI_ARB_LOST 0x38 //Arbitration lost
//TWI Master Transmitter staus codes
#define TWI_MTX_ADR_ACK 0x18
#define TWI_MTX_ADR_NACK 0x20
#define TWI_MTX_DATA_ACK 0x28
#define TWI_MTX_DATA_NACK 0x30
//TWI_Master Receiver staus codes
#define TWI_MRX_ADR_ACK 0x40
#define TWI_MRX_ADR_NACK 0x48
#define TWI_MRX_DATA_ACK 0x50
#define TWI_MRX_DATA_NACK 0x58
//TWI Slave Transmitter staus codes
#define TWI_STX_ADR_ACK 0xA8
#define TWI_STX_ADR_ACK_M_ARB_LOST 0xB0
#define TWI_STX_DATA_ACK 0xB8
#define TWI_STX_DATA_NACK 0xC0
//TWI Slave Receiver staus codes
#define TWI_SRX_ADR_ACK 0x60
#define TWI_SRX_ADR_ACK_M_ARB_LOST 0x68
#define TWI_SRX_GEN_ACK 0x70
#define TWI_SRX_GEN_ACK_M_ARB_LOST 0x78
#define TWI_SRX_ADR_DATA_ACK 0x80
#define TWI_SRX_ADR_DATA_NACK 0x88
#define TWI_SRX_GEN_DATA_ACK 0x90
#define TWI_SRX_GEN_DATA_NACK 0x98
#define TWI_SRX_STOP_RESTART 0x98
//TWI Miscellaneous status codes
#define TWI_NO_STATE 0xF8
#define TWI_BUS_ERROR 0x00
#undef EXTERN
#endif //#ifndef TWI_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -