KF32A146之IIC读写外部EEPROM

1 篇文章 0 订阅
1 篇文章 0 订阅
该博客详细介绍了如何在KF32A146开发板上通过硬件I2C接口与EEPROM进行通信,实现数据的读写操作。首先,配置了I2C0使用PF2和PF3引脚,并初始化GPIO和I2C。接着,分析了EEPROM的读写时序,包括START信号、设备地址、ACK信号等步骤。博客还提供了写函数的实现,并简要说明了读函数的类似过程。值得注意的是,KF32A146在需要重新发起始信号时,需要关闭并重新打开I2C。
摘要由CSDN通过智能技术生成

参考资料:
《KF32A146用户手册》
《AT24C16 Datasheet》
1.实现功能
通过硬件I2C向EEPROM中发送一个或多个字节的数据,并通过CAN报文发出读 取的数据。
2. 硬件设计
采用kungfu的开发板,芯片:KF32A146IQT
使用到的外设及硬件为:CAN,I2C1,EEPROM。
3.配置IIC,使用的是开发板上PF2 PF3 pin,I2C0,复用功能 5(在数据手册可以找到复用功能表)

初始化GPIO:
在这里插入图片描述

初始化I2C0
我选择的7位地址

4.分析EEPROM读写时序:
在这里插入图片描述

1.START->起始信号
2.DEVICE ADDRESS->设备地址(最低位为读写位,1:读,0:写)
3.ACK->应答信号
4.写地址,就是要把数据写到哪个地址
5.ACK->应答信号
6.数据
7.停止信号

5.EEPROM写函数

在这里插入图片描述

6.EEPROM读函数:
在这里插入图片描述
参考写时序分析,这里就不过多写出来了

这里是引用在这里插入图片描述
需要注意的是,这个KF32A146的硬件I2C中途如果需要重新发起始信号的话,需要关了I2C,然后再打开

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值