a - 什么是IIC总线 -什么是EEPROM -IIC总线的通信格式 模块化设计注解 整体代码 - 什么是IIC总线 IIC总线是同步通信的一种特殊形式,具有接线口少.控制简单.器件封装形式小.通信速率高等特点.在主从通信中,可以有多个IIC总线器件同时连接到IIC总线上,所有与IIC兼容的器件都具有标准的接口,通过地址来识别通信对象,使他们可以经由IIC总线互相直接通信. IIC总线由SDA数据线和SCL时钟线俩条线构成通信线路,既可发送数据也可以接收数据.在CPU和IC之间.IC与IC间都…
这段时间在做全国光电设计大赛,用到了px4的px4flow光流传感器,用软件模拟iic读取数据不定期会导致px4flow死机,查了资料和光流的源码,发现这个光流用了stm32的硬件iic,所以对软件模拟iic的时序要求可能更高一点所以在原子哥的iic程序上做了修改,代码测验后已经不会死机,做个笔记,保存一下. #include "myiic.h" #include "delay.h" //初始化IIC void IIC_Init(void) { 19 GPIO_In…
最近做的一个项目,是基于IIC总线通信的传感器系统.由于另外一个传感器使用的是类IIC协议,而不是标准IIC,所以MCU不能与其通信,最后没有办法,只有通过I/O口模拟的方式实现IIC的总线通信.具体的程序在我博客里在先前的早些时候已经贴出来了,如果有兴趣的可以查看我的博客. 主要终结一下我在这个过程中遇见的问题 1.在写完数据(指令或者地址)后 没有应答信号 一般开始的时序根据手册里面的时序图很容易可以写出,第一个没有应答,就有可能向从器件写完数据以后.一般这个时候主要检查的是,上升沿和下降沿…
最终效果展示 OLED屏幕和GY30光照传感器(BH1750FVI)都连接在一个IIC(I2C)总线上,所以只需要接4根线即可.获取到的光照强度可以在OLED上实时显示并通过串口打印.IIC是IO模拟IIC,方便后续代码的移植到各个单片机平台. 硬件汇总 单片机:STM32F103C8T6 OLED:0.96寸.128*64.驱动芯片是SSD1306(市场上常用) 光照强度传感器:GY-30,BH1750FVI主控即可 接线方法 IIC总线:SCL--PA1  . SDA--PA0 串口:TX-…
一.概述 为了非常方便地对 I2C 从器件进行快速的.正确的读写操作,我们为此而设计出虚拟 I2C 总线操作平台软件包.本软件包是主方式下的虚拟 I2C 总线软件包,只要用户给子程序提供几个主要的参数,即可轻松地完成任何 I2C 总线外围器件的应用程序设计. I2C 总线是 PHILIPS 公司推出的芯片间串行数据传输总线,2 根线(SDA.SCL)即可实现完善的全双工同步数据传送,能够十分方便地地构成多机系统和外围器件扩展系统.I2C 器件是把 I2C 的协议植入器件的 I/O 接口,使用时器…
一. 概述 1. IIC总线是PHILIPS公司推出的一种串口总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串口总线. 2. IIC总线只有两根双向信号线.一根是数据线SDA,一根是时钟线SCL. 3. 连接到相同总线的IC数量,受总线最大电容400pF的限制. 4. IIC总线通过上拉电阻接正电源.当总线空闲时,两根线均为高电平.连到总线上的任何一个器件输出的低电平,都将使总线的信号变低, 即各器件的SDA和SCL都是线“与”的关系. 5. 每个连到总线上的器件都有一个唯…
一.IIC 总线概述: IIC 即Inter-Integrated Circuit(集成电路总线) I2C总线是PHLIPS公司推出的一种串行总线, I2C总线只有两根双向信号线.一根是数据线SDA,另一根是时钟线SCL. 每个接到I2C总线上的器件都有唯一的地址.主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这时主机即为发送器.由总线上接收数据的器件则为接收器. 二.IIC 总线通信协议: 要掌握IIC的通信协议,需要掌握以下6个通信信号: 1.起始信号 2.终止信号 3.写数据…
关于Exynos4412 IIC 裸机开发请看 :Exynos4412 裸机开发 —— IIC总线 ,下面回顾下 IIC 基础概念 一.IIC 基础概念 IIC(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备.IIC总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信.例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇.可随时监…
本文主要介绍RT-thread中IIC总线设备驱动,涉及到的主要文件有:驱动框架文件(i2c_core.c,i2c_dev.c,i2c-bit-ops.c,i2c_dev.h,i2c.h):底层硬件驱动文件(i2c_soft.c,i2c_soft.h).这里的i2c_soft.c和i2c_soft.h是指利用MCU的GPIO口模拟IIC总线时序,而不是利用MCU的硬件IIC接口.应用IIC总线设备驱动时,需要在rtconfig.h中添加宏定义#define RT_USING_I2C.若使用GPI…
1.采用串行总线技术可以使系统的硬件设计大大简化.系统的体积减小.可靠性提高.同时,系统的更改和扩充极为容易. 常用的串行扩展总线有: IIC (Inter IC BUS)总线.单总线(1-WIRE BUS).SPI(Serial Peripheral Interface)总线及Microwire/PLUS等.   2.IIC IIC总线只有两根双向信号线.一根是数据线SDA,另一根是时钟线SCL. IIC总线通过上拉电阻接正电源.当总线空闲时,两根线均为高电平.连到总线上的任一器件输出的低电平…