📄 i2c_slave.c
字号:
#include "I2C_Slave.h"
void i2cs_Init(void)
{
SMP = 0; //Sample bit (SSPSTAT Bit 7) cleared
CKE = 0; //CKE conforms to I2C spec
SSPMode(SLAVE_MODE); //Set SSPM3:0 to be 0110
SSPAdd_Set();
Clk_Release();
SCL_DIR = I2C_INPUT; //both SCL, SDA are inputs in I2C Slave mode
SDA_DIR = I2C_INPUT;
SSPIE = 1; //Enable Interrupt
SSPEN = 1; //Enable I2C
GIE = 1;
PEIE = 1;
//return FALSE;
}
int i2cs_Cmp_Add(void) {
int data;
//incoming data...
if (BF) {
data = SSPBUF; //read from buffer
BF = 0;
}
SSPOV = 0;
if ( (data & 0xFE) == SLAVE_ADDRESS ) return FALSE;
return I2C_ERROR;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -