📄 twi.h
字号:
/*------------------------------------------------------------------------------
- Title : TWI.h
- Revision : Ver1.00
- Author : cqw
- Date : 27/06/2005
--------------------------------------------------------------------------------
- Function explain :
--------------------------------------------------------------------------------
- Modify :
------------------------------------------------------------------------------*/
#ifndef TWI_H
#define TWI_H
/*----------------------------------宏定义------------------------------------*/
/* 主时钟频率(Hz)*/
#define Crystal 7372800 // 7.3728Mhz
/* Master */
#define TW_START 0x08
#define TW_REP_START 0x10
/* Master Transmitter */
#define TW_MT_SLA_ACK 0x18
#define TW_MT_SLA_NACK 0x20
#define TW_MT_DATA_ACK 0x28
#define TW_MT_DATA_NACK 0x30
#define TW_MT_ARB_LOST 0x38
/* Master Receiver */
#define TW_MR_ARB_LOST 0x38
#define TW_MR_SLA_ACK 0x40
#define TW_MR_SLA_NACK 0x48
#define TW_MR_DATA_ACK 0x50
#define TW_MR_DATA_NACK 0x58
#define TW_NO_INFO 0xF8
#define TW_BUS_ERROR 0x00
/* defines and constants */
#define TWCR_CMD_MASK 0x0F
#define TWSR_STATUS_MASK 0xF8
/* return values */
#define TWI_OK 0x00
#define TWI_ERROR_NODEV 0x01
#define TWI_SEND_DATA_BUFFER_SIZE 0xff
#define TWI_RECEIVE_DATA_BUFFER_SIZE 0xff
/*---------------------------------函数声名-----------------------------------*/
/*外部*/
extern void TWI_Init(void);
extern void TWI_ISR(void); // 在twi中断中调用
extern INT8U TWI_MasterSendNI(INT8U deviceAddr, INT8U length, INT8U* data);
extern INT8U TWI_MasterReceiveNI(INT8U deviceAddr, INT8U length, INT8U *data);
/*内部*/
INT8U TWI_GetReceivedByte(void);
void TWI_SendByte(INT8U data);
void TWI_ReceiveByte(INT8U ackFlag);
void TWI_SetBitrate (INT8U bitrateKHz);
void TWI_SendStart(void);
void TWI_SendStop(void);
void TWI_WaitForComplete(void);
#endif
/*------------------------------------------------------------------------------
0ooo
ooo0 ( )
( ) ) /
\ ( (_/
\_)
------------------------------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -