模拟I2C控制24C02(6)

发布时间:2021-06-06

使用STM32红牛开发的GPIO模拟I2C控制八个AT24C02的读写

}

void I2C_EE_Continue_Read(u8* pBuffer, u16 ReadAddr, u16 NumByteToRead)

{

u16 i=0;

/* Send START condition */

I2C_GenerateSTART();

I2C_SendData(I2C_SLAVE_ADDRESS7_R);

WaitAck();

for(i=0;i<NumByteToRead;i++)

{

*pBuffer = I2C_ReceiveData();

++pBuffer;

Ack();

}

NAck();

I2C_GenerateSTOP();

}

void wait(u16 Data)

{

u16 i;

for(i=0;i<Data;i++);

}

/******************** (C) COPYRIGHT 2011 STMicroelectronics ********************

* File Name : main.c

* Author : Tanglin

* Version : V2.0.1

* Date : 11/9/2011

* Description : Main program body

********************************************************************************

* AT24C02内部共256字节

* 每次读写字节的地址最低两位出现A0时便会丢失之后的五个数据

* 因此,定义读写地址为EEPROM_WriteAddress1=0xa6

* 因为0x1a0-0xa6=250,几乎是该芯片可写的最大范围

* GPIOA模拟SCK,GPIOC模拟SDA

* 当八个芯片同时烧写时,只需更改i2c_ee.h里的 #define SDAread GPIOC->IDR & GPIO_Pin_7

*******************************************************************************/

模拟I2C控制24C02(6).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219