首页 > 其他分享 >IIC总线协议—读写EEPROM

IIC总线协议—读写EEPROM

时间:2023-04-07 14:44:41浏览次数:36  
标签:SCL 协议 读写 总线 SDA IIC I2C EEPROM

1、I2C简介

I2C 通讯协议(Inter-Integrated Circuit)是由Phiilps公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要USART、CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。

2、I2C物理层

I2C总线只需要两条总线线路,一条双向串行数据线(SDA) ,一条串行时钟线 (SCL)。SDA线用来装载数据,SCL线用于控制收发。I2C支持多设备的总线。支持多个通讯主机及多个通讯从机。

3、I2C协议层

3.1、协议层总述

IIC总共有三种信号:

  • 开始信号:SCL=1 & SDA下降沿触发

  • 传输信号:SCL=0、SCL=1、SCL=0(传输SDA已装载数据)

  • 结束信号:SCL=1 & SDA上升沿触发

下图是IIC传输协议,图中Bn是数据,S代表Start,P代表Pause

3.2、Bn数据的读写

4、CubeMX配置

标签:SCL,协议,读写,总线,SDA,IIC,I2C,EEPROM
From: https://www.cnblogs.com/Kaelthas/p/17296077.html

相关文章

  • 教育-文件读写
    Excel数据读写excel是一个软件,可以打开不同格式的文件:xlsx(office2016)openpyxl  常用xls(office2003)xlrd  过时了安装依赖pipinstallopenpyxlimportopenpyxlworkbook=openpyxl.load_workbook(path)#导入工作簿workbook.worksheets#list[<Worksheet......
  • 有关IOS内存读写冲突
    有关IOS内存读写冲突在写内存相关代码时,获取已使用内存代码中报错lethostPort:mach_port_t=mach_host_self()varhost_size=mach_msg_type_number_t(MemoryLayout<vm_statistics_data_t>.stride/MemoryLayout<integer_t>.stride)varpagesize:vm_siz......
  • C语言——复杂指针的读写
     1int*(*(*(*abc)())[6])();2/*3*1、(*abc)()——函数指针4*2、(*(某1))[6]——某的数组的指针5*3、int*(*(某2))()——返回值为int*类型的某的函数指针6*组合方式:123217*组合:(以(指向((返回值为int*类型的(函数指针))数组)的指针)......
  • docker 部署mongoDB集群与读写分离
    一.生成key文件需要注意集群中所有机器都需要用同一个文件,否则会出现验证失败的情况#生成keyopensslrand-base64756>/data/volume/mongodb/configdb/mongo.key#设置访问权限chmod400/data/volume/mongodb/configdb/mongo.key 二.启动MongoDB的docker容器d......
  • MATLAB读写excel中指定sheet行列中的数据 and 去除含有NaN的行或者列
    matlab读写excel中指定sheet行列中的数据data=xlsread('data.xlsx','sheet1','c2:c12');xlswrite('newdata.xlsx',newdata,'Sheet1','p2:p12');matlab中去除含有NaN的行或者列b=a(all(~isnan(a),2),:);%删除含有NAN的行b=a(al......
  • C语言以结构体的方式写入eeprom数据
    unsignedcharmin_change0=0,//要保存的变量值第一组,每一次改变都会保存unsignedcharmin_change_backup0=0;//该变量为中间变量,用于与min_change做对比,下同unsignedcharmin_change1=0,//要保存的变量值第二组,每一次改变都会保存unsignedcharmin_change_b......
  • 一款针对EF Core轻量级分表分库、读写分离的开源项目
    在项目开发中,如果数据量比较大,比如日志记录,我们往往会采用分表分库的方案;为了提升性能,把数据库查询与更新操作分开,这时候就要采用读写分离的方案。分表分库通常包含垂直分......
  • Python-OPCUA 读写西门子PLC设备的数据
    Python版本:3.9在python中,通过opcua通讯方式向PLC中读写数据1.安装opcua首先安装一下opcua:pipinstallopcua2.实现与PLC的交互我们可以通过导入文件的方式,实现pl......
  • MyCAT实现MySQL的读写分离
     在MySQL中间件出现之前,对于MySQL主从集群,如果要实现其读写分离,一般是在程序端实现,这样就带来一个问题,即数据库和程序的耦合度太高,如果我数据库的地址发生改变......
  • 多线程 互斥锁与读写锁 概念
    一、多线程lock互斥锁简述多线程环境中,不使用lock锁,会形成竞争条件,导致A线程与B线程数据使用冲突。使用lock锁可以保证当有线程操作某个共享资源时,能使该代码块按照指......