打印

关于修改例程《IIC(EEPROM)》读取24c02中的数据

[复制链接]
577|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小小的人呀|  楼主 | 2018-6-30 18:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,我修改此例程,24c02里已有数据,我想用读的方式(不写)读取24c02中的数据,但是无数据输出,求助各位。以下是修改后的main函数。
#include "stm32f10x.h"
#include "usart1.h"
#include "i2c_ee.h"
#define  EEP_Firstpage      0x00
/*u8 I2c_Buf_Write[256];*/
u8 I2c_Buf_Read[256];
void I2C_Test(void);
/*
* 函数名:main
* 描述  :主函数
* 输入  :无
* 输出  :无
* 返回  :无
*/
int main(void)
{  
/* 配置系统时钟为 72M */      
  //SystemInit();;
  /* 串口1初始化 */
USART1_Config();
/* I2C 外设初(AT24C02)始化 */
I2C_EE_Init();
USART1_printf(USART1, "
这是一个I2C外设(AT24C02)读写测试例程
");
USART1_printf(USART1, "
("__DATE__ " - " __TIME__ ")
");
   
I2C_Test();
  while (1)
  {      
  }
}
/*
* 函数名:I2C_EE_Test
* 描述  :I2C(AT24C02)读写测试。
* 输入  :无
* 输出  :无
* 返回  :无
*/
void I2C_Test(void)
{
u16 i;
/* printf("写入的数据

");
   
for ( i=0; i<=255; i++ ) //填充缓冲
  {   
    I2c_Buf_Write = i;
    printf("0x%02X ", I2c_Buf_Write);
    if(i%16 == 15)   
        printf("

");   
   }
  //将I2c_Buf_Write中顺序递增的数据写入EERPOM中
I2C_EE_BufferWrite( I2c_Buf_Write, EEP_Firstpage, 256);  
*/
  
  printf("

读出的数据

");
  //将EEPROM读出数据顺序保持到I2c_Buf_Read中
I2C_EE_BufferRead(I2c_Buf_Read, EEP_Firstpage, 256);
  //将I2c_Buf_Read中的数据通过串口打印
for (i=0; i<256; i++)
{
  /*if(I2c_Buf_Read != I2c_Buf_Write)
  {
   printf("0x%02X ", I2c_Buf_Read);
   printf("错误:I2C EEPROM写入与读出的数据不一致

");
   return;
   }
*/
    printf("0x%02X ", I2c_Buf_Read);
    if(i%16 == 15)   
        printf("

");
   
}
  printf("I2C(AT24C02)读测试成功

");
}

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

399

主题

399

帖子

0

粉丝