(3)LinuxI2C驱动--解析EEPROM的读写
2015-06-11 13:22
423 查看
本节介绍eeprom的读写时序,参考的是AT24C01A的datasheet。
7位地址,前四位是1010,后三位由芯片引脚决定,由原理图可知后三位是000,也就是设备地址为0x50,因为数据传输是8位的,最后一位决定是读还是写。
读任意地址eeprom的数据,首先第一个字节得先在SDA上发出eeprom的设备地址,也就是0x50,并且8位数据的最后一位是低电平表示写设备,然后第二个字节是要读的数据在eeprom内的地址,这样以后再产生开始条件,第三个字节在SDA上发出设备地址,此时的最后一位是高电平,表示读设备,第四个字节的数据就是读eeprom的对应地址的数据。
可以看到,读eeprom需要两个开始条件,也就是2条消息,第一条消息写eeprom确定读的位置,大小为2个字节,第二条消息才是真正的读eeprom。
写eeprom就相对简单,只需一个开始条件,第一个字节发出设备地址和置最低位为低电平表示写eeprom,第二个字节发出要读数据在eerpom的地址,第三个字节读到的数据就对应地址在eeprom上的数据。
1. 概述
AT24C01A的存储大小是1K,页大小是8个字节。2. 设备地址
7位地址,前四位是1010,后三位由芯片引脚决定,由原理图可知后三位是000,也就是设备地址为0x50,因为数据传输是8位的,最后一位决定是读还是写。
3. 读eeprom
读任意地址eeprom的数据,首先第一个字节得先在SDA上发出eeprom的设备地址,也就是0x50,并且8位数据的最后一位是低电平表示写设备,然后第二个字节是要读的数据在eeprom内的地址,这样以后再产生开始条件,第三个字节在SDA上发出设备地址,此时的最后一位是高电平,表示读设备,第四个字节的数据就是读eeprom的对应地址的数据。
可以看到,读eeprom需要两个开始条件,也就是2条消息,第一条消息写eeprom确定读的位置,大小为2个字节,第二条消息才是真正的读eeprom。
4. 写eeprom
写eeprom就相对简单,只需一个开始条件,第一个字节发出设备地址和置最低位为低电平表示写eeprom,第二个字节发出要读数据在eerpom的地址,第三个字节读到的数据就对应地址在eeprom上的数据。
相关文章推荐
- Linux pipe功能
- XAMPP Linux
- Linux 常用命令以及部分详解-第一章 文件的基本管理
- Linux系统日常管理之rsync备份工具
- linux 段错误调试方法
- 30个实用的Linux find命令示例
- windowns里ntfs下分区的目录如何在linux下smb共享--2006-10-19 博客搬家
- linux内存源码分析 - SLAB分配器概述
- cdlinux 安装到虚拟机中,百度经验上是错误的。
- linux 如何查找命令的路径
- 基础知识——CentOS7操作系统的安装图文教程
- RHEL5.4 x86_64 使用CentOS5的更新源
- 程序员 Linux 日常维护 命令
- ECS Linux系统启动过程介绍
- Linux-启动挂载
- Linux vmstat命令实战详解
- Linux系统如何查看cpu型号
- 安装 LAMP Web 服务器在 Amazon Linux 上
- 如何使用xkill命令杀掉Linux进程/未响应的程序
- linux文件名通配