搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
盐析白兔
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
打开JSON文件的六种方法,总有一种适合你_open json file
2
2023年软件测试还能不能干,怎么干!听听这些肺腑之言!
3
安装Node.js出现的问题_the node.js path can contain
4
【头歌】Python程序设计_2_关系运算符与选择语句_头歌python基础之二综合答案
5
Canal实战使用(集群部署)和原理解析_canal集群部署
6
WebLogic的特点和几个基本概念_weblogic流量特征
7
DREAD风险评估模型_dread模型
8
机器人焊枪动作与编程实验_工业机器人编程实验.doc
9
前端埋点 matomo 详细安装配置 (一)
10
三维铁木辛柯梁Matlab有限元编程 | 弹簧支座 | 弹性支撑单元| Matlab源码 | 理论文本 | 三维梁 | 3D梁 | 空间梁_三维梁单元
当前位置:
article
> 正文
I2C操作笔记——以 AT24C04为例_at24c04怎么把long存储
作者:盐析白兔 | 2024-04-17 04:40:13
赞
踩
at24c04怎么把long存储
本文转载至:
http://blog.csdn.net/xukai871105/article/details/15028117
1.前言
对于大多数工程师而言,I2C永远是一个头疼的问题。相比UART和SPI而言,I2C的时序要复杂一些,I2C组合变化也丰富一些。在这里以AT24C04为例说明I2C使用过程中的一些注意点。
2.AT24C04操作示意图
图 AT24C04操作示意图
示意图说明:示意图分阐述了4种不同的操作方式,例如写单个存储单元,写多个存储单元,读单个存储单元和写单个存储单元。对于单个操作而言,上部为MCU通过I2C输出的相关指令,下部为I2C设备的响应。例如写单个存储单元操作时,MCU发出I2C启动,设备地址,写标志位等,而I2C设备输出多个ACK。
3.若干说明
3.1 基本操作方式
I2C设备的操作可分为写单个存储字节,写多个存储字节,读单个存储字节和读多个存储字节。相对于AT24C04而言,这些读写动作相对于内部的存储单元而言,对于其他的具备I2C接口的AD或传感器而言,存储单元变成了寄存器单元。虽然存在概念上的差别,但是其操作原理确实一样的。
3.2 无应答
在以上4种情况中,无应答为MCU发出,无应答意为MCU不需要从机输出数据,MCU将会停止本次I2C操作。需要说明的是,无应答并不是一种异常情况。
3.3 I2C设备并不只有一个设备地址
这一点往往被忽略,一般情况下认为在I2C启动信号之后的字节为I2C从机地址(7位)。对于AT24C04而言,内部具有4Kb存储位,合计512字节。若需要访问512字节内容,总共需要9根地址线(8位宽度),那么上图中的存储地址(8位长度)显然还差了一位,那么就需要从设备地址中“借”1位,这就使得AT24C04具有两个I2C地址,例如0x50和0x51。
3.4 存储地址
相对于AT24C04而言,存储地址占1个字节。若换成其他I2C设备,例如ADXL345,存储地址被寄存器地址替代即可,其他操作方式相似。但是像AT24C32或AT24C64这样的大容量EEPROM,则存储地址需要2字节描述,也就意味着需要连续发送两个字节地址信息且高字节在前。其他像BH1750这样的光照芯片,存储地址被具体的操作命令替代,使用I2C设备时需要因地制宜,切不可照搬教条。
3.5 连续读和连续写限制
AT24C04中存在页的概念,一页的大小为8字节,若果在单页的范围内,存储地址累加,若超过该页的最大地址,存储地址回到页开始处。所以对于连续读和连续写而言,最大的操作字节数为8。若需要操作的字节内容超过8字节,则需要进行翻页操作,即写入下一页的起始存储地址。
4 总结
I2C设备有很多种,若掌握基本原理,便可见招拆招,那是I2C总线就不那么难了。
5.参考资料
【
维基百科I2C
】
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/盐析白兔/article/detail/438262
推荐阅读
article
int
,
long
,
long
long
类型
的
范围...
【内置类型】
int
-2147483648~2147483647 //现在编译器
的
int
型是32位
的
,以前为16位
的
范...
赞
踩
article
论文解读19——(
PatchTST
)A
Time
Series
is
Worth
64
Words
:...
这篇是2023年ICLR的文章,提出了一种有效的多元
时间
序列预测和自监督表示学习模型
PatchTST
,主要是基于Tra...
赞
踩
article
JavaSE
数据类型
与运算符_找出能被
num1
或
num2
整除的大于
long
.
max
_
value
...
JavaSE
基本
数据类型
Java是一种强类型语言,因此对于Java中的每一个变量都要声明一种类型。编写程序时,应在满足 ...
赞
踩
article
AT24C04
、
AT24C08
、
AT24C16
系列
EEPROM
芯片单片机读写
驱动程序
...
一、概述在之前的一篇博文中,记录了AT24C01、AT24C02芯片的读写驱动,先将之前的相关文章include一下:1...
赞
踩
article
EEPROM的使用操作手册
AT24C02
AT24C04
AT24C08
AT24C16
等系列操作...
EEPROM的使用操作手册
AT24C02
AT24C04
AT24C08
AT24C16
等系列操作_
at24c16
中文...
赞
踩
article
基于
Proteus
学习
单片机
系列(六)——I2C总线
AT24C04
_
proteus
at24c04
...
欢迎加入QQ电子交流群:658384577项目下载点击下载1.电路图2.程序 主函数#include
#...
赞
踩
相关标签
transformer
Patch
时间序列预测
深度学习
单片机
stm32
嵌入式硬件
硬件工程
驱动开发
51单片机
单片机学习