iic_slave.c

来自「单片机的应用程序」· C语言 代码 · 共 48 行

C
48
字号
#include "iic_slave.h"

bool i2c_slave_init_send()
{
	 // IIC Address
	 unsigned char ret = 0;
	 TWAR = 0xCC;
	 I2CSlaveInit();
	 I2CWaitAck();
	 ret = I2CChkAck();
	 if( ret!=I2C_ST_SLA_ACK  ) return ret;
	 else return 1;
}

bool i2c_slave_init_recv()
{
	 // IIC Address
	 unsigned char ret = 0;
	 TWAR = 0xCC;
	 I2CSlaveInit();
	 I2CWaitAck();
	 ret = I2CChkAck();
	 if( ret!=I2C_SR_SLA_ACK  ) return ret;
	 else return 1;
}

bool i2c_slave_sendbyte(unsigned char databyte)
{
	 unsigned char ret = 0;
	 I2CSendByte(databyte);
	 I2CWaitAck();
	 ret = I2CChkAck();
	 if( ret!=I2C_ST_DATA_ACK )  return ret;
	 else return 1;  
}

bool i2c_slave_recvcommand(unsigned char *databyte)
{
	 unsigned char ret = 0;
	 I2CRcvAckByte();
	 I2CWaitAck();
	 ret = I2CChkAck();
	 *databyte = TWDR;
	 if( ret!=I2C_SR_DATA_ACK )  return ret;
	 else return 1;  
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?