📄 iicmacro.h
字号:
#define OWN_ADD (0x50)
#define IIC_INT_PENDING (1<<4)
#define IIC_TRANS_START (1<<5)
#define IIC_ARBI_SUCCESS (1<<3)
#define IIC_ADDR_MATCH_BIT (1<<2)
#define IIC_ADDR_MATCH(x) ((x->rIICSTAT) & IIC_ADDR_MATCH_BIT)
#define IIC_BROADCAST (1<<1)
#define IIC_ACK (1<<0)
#define IIC_MODE_MASK (0x3f)
#define IIC_MASTER_TRANS (3<<6)
#define IIC_MASTER_RCV (2<<6)
#define IIC_SLAVE_TRANS (1<<6)
#define IIC_SLAVE_RCV (0<<6)
#define IIC_START_FLAG (1<<5)
#define IIC_STOP_FLAG IIC_START_FLAG
#define IIC_BUS_IDLE IIC_START_FLAG
#define IIC_IICCON (0xF0)
#define IIC_IICADD (0x50<<1)
#define CONFIG_IICCON(x) {x->rIICCON = IIC_IICCON;}
#define CONFIG_IICADD(x) {x->rIICADD = IIC_IICADD;}
#define CONFIG_AS_MASTER_TRANS(x) {x->rIICSTAT = 0xF0;}
#define CONFIG_AS_SLAVE_RCV(x) {x->rIICSTAT &= 0x3f;}
#define TRANS_START(x) {x->rIICSTAT=0xF0;}
#define TRANS_DATA(x,y) {x->rIICDS=y;}
#define IIC_RESUME(x) {(x->rIICCON)&=(~IIC_INT_PENDING);}
#define TRANS_STOP(x) {(x->rIICSTAT)=0xD0;IIC_RESUME(x)}
#define RCV_START(x) (((x->rIICSTAT)&(IIC_ADDR_MATCH_BIT|IIC_BROADCAST) )!=0)
#define TRANS_FAIL(x) ((x->rIICSTAT) & IIC_ARBI_SUCCESS==0)
#define RCV_DATA(x,y) {x=(y->rIICDS);}
#define BUS_BUSY(x) ((x->rIICSTAT) & IIC_BUS_IDLE == 1)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -