📄 668si2c.h
字号:
/*
从方式的668硬件I2C,文件名668SI2C.C
使用:使用前要先开中断:总中断EA和I2C中断ES1,其中断入口地址为2BH;
若是从接收,则循环调用RcvByte()接收字节数据,直至总线结束/重启;
若是从发送,则循环调用SendByte()发送数据,直至接收到非应答信号;
为了防止从器件因总线出错而死机,可用定时器实现超时处理。
*/
/*当状态字S1STA为0X60时,是总线对从器件写操作;若为0XA8则是对从器件读操作*/
#define WRSLA 0X60
#define RDSLA 0XA8
/*****************************************************************
设置总线
函数原型: void SetBus(unsigned char addr)
描述:用于设置I2C控制寄存器,包括总线时钟速率及从地址.
从地址为addr,不接受广播地址.
*****************************************************************/
extern void SetBus(unsigned char addr);
/***************************************************************
发送字节数据
函数原型:bit SendByte(uchar c)
描述:向总线发送数据c,当接收到非应答位时返回0,否则返回1;
***************************************************************/
extern bit SendByte(unsigned char c);
/***************************************************************
接收字节数据
函数原型:bit RcvByte(uchar *c)
描述:读取总线传来的字节数据并发送应答位,正常接收返回1(此时读入的
数据写入变量c),接收到总线结束信号或重新启动总线信号时返回0(此时不
破坏变量c的数据)。
***************************************************************/
extern bit RcvByte(unsigned char *c);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -