N76E003读24C64程序

这篇博客介绍了如何在N76E003单片机上模拟IIC通信,包括初始化IIC、发送起始和停止信号、发送和接收数据、等待应答等关键步骤。提供了详细的函数实现,如IICStart、IICStop、IICSendByte和IICReadByte等,便于理解和应用。
摘要由CSDN通过智能技术生成

IIC.C
#include “I2C.h”
#include “N76E003.h”
#include “SFR_Macro.h”
#include “Function_define.h”
#include “Common.h”
#include “Delay.h”

//端口定义===
#define IIC_SCL_PORT //GPIOF
#define IIC_SCL_PIN P13//GPIO_PIN_6

#define IIC_SDA_PORT //GPIOF
#define IIC_SDA_PIN P14//

#define GPIOX_MODE_IN_UP_DOWN 8
#define GPIOX_MODE_OUT_PP 3

//时钟线操作
#define Set_IIC_SCL IIC_SCL_PIN = 1
#define Clr_IIC_SCL IIC_SCL_PIN = 0

//数据线操作
#define Set_IIC_SDA IIC_SDA_PIN = 1
#define Clr_IIC_SDA IIC_SDA_PIN = 0
#define READ_SDA IIC_SDA_PIN

#define IIC_DELAY_TIME 1 //时序延时
#define WAIT_ACK_TIME 5 //等待ACK超时时间

//=内部接口声明=
static void DelayUS(unsigned int ulNS);

//==================================================================================

//数据线方向定义,STM32 GPIO设为OD输出,可双向操作
void SDA_IN(void) {
/* -2- Configure IOs in output push-pull mode to drive external IIC_SDA_PIN */

} //设置为输入

void SDA_OUT(void) {
/* -2- Configure IOs in output push-pull mode to drive external IIC_SDA_PIN */

} //设置为输出

//=================================================================
//函 数 名:IICInit
//功能描述:初始化模拟IIC
//输 入:无
//输 出:无
//返 回:无
//=================================================================
void IICInit(void)
{
//打开IO时钟

//将数据线和时钟线拉高,IIC处于空闲状态
Set_IIC_SCL;
Set_IIC_SDA;

}

//=================================================================
//函 数 名:IICStart
//功能描述:IIC起始信号
/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZCY5202015

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值