51单片机I2C通信程序

该程序是自己编写的I2C通信程序,KEIL编译环境,由两个IO模拟。大部分函数加上了返回值检查。

#include <reg51.h>

#include <intrins.h>

#define ACK 0

#define NOACK 1

#define OUTPUT 1

#define INPUT 0

#define WRITE 0

#define READ 1

#define TRIALS 100

#define ERR_CRC 2

#define ERR_BUSY 1

#define ERR_OK 0

#define uchar unsigned char

#define uint unsigned int

#define uchar unsigned char

#define uint unsigned int

uchar EI2C1_SendChar(uchar DevAdr,uchar MemAdr,uchar Chr);

uchar EI2C1_RecvChar(uchar DevAdr, uchar *Chr);

uchar ReceiveRand(uchar DevAdr, uchar MemAdr, uchar* Chr);

uchar PageWrite(uchar DevAdr, uchar MemAdr, uchar* Chr, uchar Siz);

uchar SeqRead(uchar DevAdr, uchar MemAdr, uchar* ReceivedChr,uchar Siz);

static void Delay(void);

static void Write(uchar Data);

static uchar Read(void);

static bit GetAck(void);

static void SetAck(bit Ack);

static void start(void);

static void stop(void);

sbit SDA = P2^5;

sbit SCL = P3^6;

static void Delay(void)

{

_nop_();

_nop_();

你可能喜欢

  • 模拟I2C程序
  • MCS-51单片机
  • 中文资料
  • 单片机C语言程序
  • I2C总线协议
  • AT24C02
  • 应用程序

51单片机I2C通信程序相关文档

最新文档

返回顶部