at24c02.c

来自「我写的针对lpc2141的ucos源码」· C语言 代码 · 共 53 行

C
53
字号
#include <LPC214X.h>
#include "type.h"
#include "i2c.h"
#include "at24c02.h"
#include "delay.h"

#define WRITE_ADDR 0XA0
#define READ_ADDR 0XA1 

void e2prom_byte_write(uint8 address,uint8 data)
{
	uint8 buf[2];
	I2C_WR_UNIT i2c_op[1];
	
	delay(5*1000);
	
	buf[0]=address;
	buf[1]=data;
	
	i2c_op[0].device_addr=WRITE_ADDR;
	i2c_op[0].length=2;
	i2c_op[0].buffer=buf;
	i2c_op[0].counter=0;
	
	i2c0_operation(i2c_op,1);
}

uint8 e2prom_random_read(uint8 address)
{
	uint8 subaddr[1];
	uint8 read_buf[1];
	
	I2C_WR_UNIT i2c_op[2];
	
	delay(5*1000);
	
	subaddr[0]=address;
	
	i2c_op[0].device_addr=WRITE_ADDR;
	i2c_op[0].length=1;
	i2c_op[0].buffer=subaddr;
	i2c_op[0].counter=0;
	
	i2c_op[1].device_addr=READ_ADDR;
	i2c_op[1].length=1;
	i2c_op[1].buffer=read_buf;
	i2c_op[1].counter=0;
	
	i2c0_operation(i2c_op,2);

	return read_buf[0];
}
	

⌨️ 快捷键说明

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