STM32学习笔记—I2C写字节到E2PROM

这篇博客记录了使用STM32进行I2C通信,尝试向24C64 E2PROM写入并读取字节的过程。博主描述了硬件连接,期望效果(在串口打印写入和读出的字节),但实际操作中遇到问题,程序在等待EV5信号时出现停滞,尚未解决该问题。
摘要由CSDN通过智能技术生成

硬件连接

在这里插入图片描述
这里连接的MCU引脚是
IIC-SCL——Pb8
IIC_SDA——PB9

打算实现的效果

从24C64的E2PROM中的一个地址中写入一个字节,
在串口上面打印出来刚刚写入的那个字节;
然后再从E2中刚刚写入的地址中读出那个字节,
并且,在串口上打印出来。

实际的效果

  1. 图片
    在这里插入图片描述
    123

2.很显然,并没有完成我预想的效果

程序讲解

1.下面就是主程序

/****************************主程mian.c**********************************************/
/**
//预先定义了缓冲写入的数组
//以及读取的缓冲数组
uint8_t I2c_Buf_Write[256];
uint8_t I2c_Buf_Read[256];


  * @brief  主函数
  * @param  无
  * @retval 无
  */
int main(void)
{
    
  
  /* 串口初始化 */
	USART_Config();
	
	printf("\r\n 这是一个I2C外设(AT24C02)读写测试例程 \r\n");

	/* I2C 外设初(AT24C02)始化 */
	I2C_EE_Init();
	 	 
  //EEPROM 读写测试
	I2C_Test_OneByte();
  
  while (1)
  {
         
  }
}

/*************/EEPROM 读写测试:I2C_Test_OneByte();**********************/
///**
//  * @brief  读写一个字节并显示出来的测试
//  * @param  无
//  * @retval 正常返回1,异常返回0
//  */
void  I2C_Test_OneByte(void)
{
   
	
	printf("写入的数据\n\r");
	I2c_Buf_Write[0]=1;		
	printf
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值