IIC协议1.简介IIC两线式串行总线,由数据线SDA和时钟线SCL构成,由于数据在同一条线上传输,因此IIC通信是半双工通信方式;IIC使用多主从架构,每个器件都有唯一的识别地址,都可以作为一个发送器或接收器,这里的主从并没有绝对的概念,基本上谁控制时钟线谁就是主设备,此时从设备用于IIC的地址检测和停止位检测。IIC传输速度: 标准模式:100kbit/s 快速模式:400kbit/s 高速模式:3.4Mbit/s术语描述主机初始化发送、产生时钟信号和终止发送的器件从机被主机寻址的器件多主机同时有多于一个主机尝试控制总线,但不破坏报文仲裁是一个在有多主机同时尝试控制总线,
一、基础知识1EEPROM 是指带电可擦可编程只读存储器。是一种掉电后数据不丢失的存储芯片。2AT24C256 ATMEL公司256kbit串行电可擦的可编程只读存储器3硬件相关 A0、A1:地址选择输入端。在串行总线结构中,可以连接4个AT24C256IC。用A0、A1来区分各IC。A0、A1悬空时为0 SCL:串行时钟输入。上升沿将SDA上的数据写入存储器,下降沿从存储器读出数据送SDA上。 SDA:双向串行数据输入输出口。用于存储器与单片机之间的数据交换。 WP:写保护输入。此引脚与地相连
之前面试嵌入式方面的工作的时候,因为工作方面对于SPI和IIC有一定的要求,所以会提问到相关协议的问题。SPI和IIC协议相比较更快的原因:1.从软件协议上来说。由于IIC的引脚较少,所以不得不在仅有两条数据线的情况下,设置更为复杂的协议来进行规范。比如IIC的起始信号、校验位、应答位、停止信号。而且由于IIC可以连接多个从机,在主机需要指定一个从机去发送信号的时候,还需要先发送9个数据(选址数据)来指定从机。但是对于SPI来说,因为有时钟信号线,所以SPI在软件上,不需要起始信号、停止信号来确保主从机发送接收在同一个频率(不会出现错位接收的情况)。同时片选引脚,可以通过输出高低电平到从机的C
目录第一部分:I2C的工作原理第二部分:I2C的特性第三部分:I2C的应用场景第四部分:I2C的注意事项第五部分:I2C的通信过程第六部分:单片机实现I2C1.51单片机实现I2C2.STM32使用标准库实现I2C3.STM32使用HAL库实现I2C第七部分:总结第一部分:I2C的工作原理I2C是一种双线制串行通信协议,由两条线构成:时钟线(SCL)和数据线(SDA)。它使用一种主从结构,其中有一个主设备(Master)和一个或多个从设备(Slave)。主设备控制通信过程,而从设备被动地接受主设备的控制并进行数据的发送和接收。下面是I2C通信的基本步骤:1.主设备发送一个开始信号,表示开始通信
目录1、简介2、CubeMX初始化配置2.1基础配置2.1.1SYS配置 2.1.2RCC配置2.2软件IIC引脚配置2.3项目生成 3、KEIL端程序整合3.1OLED驱动添加3.3主函数代3.4效果展示1、简介本文通过STM32F103C8T6单片机(HAL库)通过软件IIC方式对OLED进行驱动。2、CubeMX初始化配置2.1基础配置2.1.1SYS配置 2.1.2RCC配置2.2软件IIC引脚配置2.3项目生成 3、KEIL端程序整合3.1OLED驱动添加首先在建立Hardware文件,添加OLED.c如下图所示: 接着对OLED.H进行添加如下图所示: OLED驱动链接:OLE
这篇文章得用到IIC驱动,大家如果不会IIC通信,可以看这篇文章,也是我写的,是有关IIC通信的,有什么不理解的可以在看一下:https://blog.csdn.net/m0_58832575/article/details/124003619?spm=1001.2014.3001.5501 OLED简介 我买的是四针脚的利用IIC通OLED,即有机发光二极管(OrganicLight-EmittingDiode),又称为有机电激光显示(OrganicElectroluminesenceDisplay,OELD)。因为具备轻薄、省电等特性,因此从2003年开始,
目录一、IIC背景和接线1.1什么是IIC1.2如何接线二、STM32CubeMX部分2.1配置时钟2.2配置IIC2.3工程生成三、MDK5部分3.1移植OLED文件3.2修改main函数效果如图前期准备:STM32CubeMXSTM32C8T6核心板IDEKeil(MDK-ARM)杜邦线×40.96寸OLED屏(4针脚)一、IIC背景和接线1.1什么是IICIIC(Inter-IntegratedCircuit)是一个多主从的串行总线,又叫I2C,是由飞利浦公司发明的通讯总线,属于半双工同步传输类型总线。IIC总线是非常常见的数据总线,仅仅使用两条线就能完成多机通讯,一条SCL时钟线,另外
摘要:1、本文介绍SPI物理层面连接(通过哪几条线通信),2、本文介绍SPI时序(通过哪种方式进行器件之间交流)。3、提供主机和从机verilog代码。4、仅供自己参考一、SPI物理层连接(1)有四根线连接:CS_N(片选信号--主机发出)、miso(从机发出,主机接收)、mosi(主机发出,从机接收)、SCLK(时钟信号,主机发出,作为数据传输的参考时钟)。(2)结构图:(3)总结:1、SPI是一种全双工,同步通信总线,需要四根信号线(可用于FLASH器件的控制);2、SPI通信有主从之分,可以实现一主多从或者是一主多从,但是不能实现多主多从,因为从器件只有一根cs_n片选信号线,没办法知道
目录一、I2C总线背景知识二、Exynos4412I2C收发实现之裸机版2.1发送2.2接收三、Linux内核对I2C总线的支持四、MPU6050五、应用层直接使用I2C通道5.1预备工作:5.1.15.1.25.2应用层直接使用i2c总线的代码实现5.2.1调用read、write实现接收、发送5.2.2调用ioctl实现接收、发送一、I2C总线背景知识SOC芯片平台的外设分为:1.一级外设:外设控制器集成在SOC芯片内部2.二级外设:外设控制器由另一块芯片负责,通过一些通讯总线与SOC芯片相连 (二级外设在IIC中有一个身份标识,被称为地址,外设的寄存器也有地址,这个地址是基于外设的。内存
目录1.概述2.测试准备2.1工具准备3.IIC通讯测试3.1引脚说明3.2测试步骤3.2.1TFLuna-IIC与PC建立连接3.2.2获取测距值3.2.3更改slave地址1.概述通过本文档的概述,能够让初次使用测试者快速了解测试IIC通信协议需要的工具以及查看哪些对应的IIC协议说明书,通过PC连接完成IIC通信协议的产品测试。本文档适用的产品型号:TFLuna-IIC(测试前确认产品硬件版本以及固件版本)2.测试准备2.1工具准备工具数量PC上位机windows系统1台USBCOM2I2C转换器1台4P杜邦线1台TFLuna-IIC1台3.IIC通讯测试3.1引脚说明注意:这里使用TF