野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8854|回复: 1

I2C_E2PROM,通过串口打印的实验现象为什么和视频中的不一样呢?

[复制链接]
发表于 2017-7-23 11:24:46 | 显示全部楼层 |阅读模式
本帖最后由 尛丁子 于 2017-7-23 11:38 编辑

程序没问题啊
#include "stm32f10x.h"
#include "bsp_usart1.h"
#include "bsP_i2c_ee.h"
#include "bsP_led.h"
#include <string.h>

#define  EEP_Firstpage      0x00
u8 I2c_Buf_Write[256];
u8 I2c_Buf_Read[256];
void I2C_Test(void);

int main(void)
{

  /* ′&#174;&#191;ú13&#245;ê&#188;&#187;ˉ */
        USART1_Config();
        
        printf("\r\n 这是一个I2C外设(AT24C02)读写测试例程\r\n");
        //LED_GPIO_Config();

        
        I2C_EE_Init();

        
        I2C_Test();

  while (1)
  {      
  }
}

/**
  * @brief  I2C(AT24C02)&#182;áD′2aê&#212;
  * @param  &#206;T
  * @retval &#206;T
  */
void I2C_Test(void)
{
        u16 i;

        printf("写入的数据\n\r");

        for ( i=0; i<=255; i++ )
  {   
    I2c_Buf_Write = i;

    printf("0x%02X ", I2c_Buf_Write);
    if(i%16 == 15)   
        printf("\n\r");   
   }
I2C_EE_BufferWrite( I2c_Buf_Write, EEP_Firstpage, 256);

  printf("\n\r读出的数据\n\r");
  I2C_EE_BufferRead(I2c_Buf_Read, EEP_Firstpage, 256);
   for (i=0; i<256; i++)
        {        
                if(I2c_Buf_Read != I2c_Buf_Write)
                {
                        printf("0x%02X ", I2c_Buf_Read);
                        printf("′错误:I2C EEPROM写入与读出的数据不一致\n\r");
                        return;
                }
    printf("0x%02X ", I2c_Buf_Read);
    if(i%16 == 15)   
        printf("\n\r");
        }

  printf("I2C(AT24C02)读写测试成功\n\r");
}


这是我的串口打印,

这是我的串口打印,

这是视频中的打印

这是视频中的打印
回复

使用道具 举报

发表于 2017-7-24 09:17:04 | 显示全部楼层
那是读出的时候卡死了,好好对比一下代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-22 12:06 , Processed in 0.036518 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表