草庐IT

EEPROM芯片(24c02)使用详解(I2C通信时序分析、操作源码分析、原理图分析)

1、前言(1)本文主要是通过24c02芯片来讲解I2C接口的EEPROM操作方法,包含底层时序和读写的代码;(2)大部分代码是EEPROM芯片通用的,但是其中关于某些时间的要求,是和具体芯片相关的,和主控芯片和外设芯片都有关系,需要具体分析,但是逻辑顺序是不变的;2、EEPROM介绍(1)在嵌入式开发中,EEPROM的实际场景比闪存flash少很多。EEPROM芯片容量小,flash容量大,并且flash价格便宜;(2)EEPROM的读写速度一般比flash慢;(3)EEPROM大多是I2C接口,占用的引脚比flash少;(4)EEPROM比flash掉电保存数据的时间更久,总体来说就是更稳定

STM32 I2C通信协议+CubeMx配置

概念两线式串行总线。由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。(半双工通信)在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可以达到400kbps以上。I2C协议空闲状态I2C总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。起始信号与停止信号起始信号:当SCL为高期间,SDA由高到低的跳变;启动信号是一种电平跳变时序信号,而不是一个电平信号。停止信号:当SCL为高期间,SDA由低到高的跳变;停止信号也是一种电平跳变时序信号,而不是一个电平信

STM32设置为I2C从机模式(HAL库版本)

STM32设置为I2C从机模式(HAL库版本)目录STM32设置为I2C从机模式(HAL库版本)前言1硬件连接2软件编程2.1步骤分解2.2测试用例3运行测试3.1I2C连续写入3.2I2C连续读取3.3I2C单次读写测试4总结前言我之前出过一篇关于STM32设置为I2C从机的博客,现在应粉丝要求,出一篇HAL库版本的I2C从机编程。基于官方库版本的可以看下我之前发的文章:STM32设置为I2C从机模式1硬件连接测试芯片:STM32F103RCT6测试方法:用一个USB转I2C的工具接到STM32的I2C引脚上,通过上位机工具进行读写操作。如果没有这个工具,也可以用另外一组I2C作为主机或者其

485、CAN、单总线、SPI、I2C的概念,特点,协议,使用方法及通信方式,还有它们之间的区别

一、概念1.485:485(一般称作RS485/EIA-485)是隶属于OSI模型物理层的电气特性规定为2线,半双工,多点通信的标准。它的电气特性和RS-232大不一样。用缆线两端的电压差值来表示传递信号。2.CAN:CAN,全称为“ControllerAreaNetwork”,即控制器局域网,是一种多主方式的串行通讯总线,是国际上应用最广泛的现场总线之一。3.单总线:单总线是美国DALLAS公司推出的外围串行扩展总线技术。与SPI、I2C串行数据通信方式不同.它采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的,具有节省I/O口线、资源结构简单、成本低廉、便于总线扩展和维护等诸多优点

RT-Thread在STM32硬件I2C的踩坑记录

RT-Thread在STM32硬件I2C的踩坑记录0.前言一、软硬件I2C区别二、RTThread中的I2C驱动三、尝试适配硬件I2C四、i2c-bit-ops操作函数替换五、AttentionPlease!六、总结参考文章:1.将硬件I2C巧妙地将“嫁接”到RTT原生的模拟I2C驱动框架2.基于STM32F4平台的硬件I2C驱动实现笔记3.《rt-thread驱动框架分析》-i2c驱动0.前言  最近打算用RT-Thread做一个小demo玩玩,其中需要用I2C通信驱动一个oled屏幕,但是找了一圈也没找到RTT中对硬件I2C的支持方式以及使用案例,好像大家都心照不宣的用这个好用又不好用的软

20、江科大stm32学习笔记——I2C通信协议原理和MPU6050

目录一、串口通讯二、I2C通信(1)特点(2)时钟线和数据线(3)SCL和SDA的状态(4)例子:单片机向从设备写信息(5)读数据帧(6)开漏输出和推挽输出(7)两个实验(8)异步时序和同步时序a、异步时序b、同步时序(时钟要求不严格,对电路依赖度低)三、MPU6050(1)MPU6050简介(2)MPU6050参数(3)MPU6050硬件电路a、左上角LDOb、右下角J1CON1模块一、串口通讯   只能在两个设备之间进行   若要三台设备两两通信,则每个设备得需要两组窗口,为3组相互独立的窗口通讯   为解决这个问题:设计了总线通讯,有多种,I2C为其中一种二、I2C通信(1)特点1、同步

《Linux驱动:I2C驱动看这一篇就够了》

文章目录一,前言二,IIC驱动的体系架构2.1IIC核心2.2IIC适配器2.2.1适配器驱动资源的初始化和注册2.2.2IIC适配器里的通信方法2.2.3IIC适配器和IIC设备驱动的匹配2.3IIC设备驱动2.3.1IIC通用设备驱动2.3.2IIC通用设备驱动和IIC适配器的匹配2.3.3at24cxx的IIC设备驱动2.3.4at24cxx的IIC设备驱动和IIC适配器的匹配三,应用程序和IIC设备的数据传输方式四,和IIC设备进行一次数据传输的过程4.1通过IIC通用设备驱动进行数据传输4.1.1利用IIC通用设备驱动进行数据传输的函数调用过程4.2通过特定的IIC设备驱动进行数据传

[STM32学习]——一文搞懂I2C总线

目录I2C总线的概念I2C最重要的功能包括:I2C的物理层I2C主要特点:I2C的高阻态I2C物理层总结:I2C的协议层初始(空闲)状态开始信号: 停止信号数据有效性 应答信号 I2C数据传送数据传送格式I2C写数据I2C发送数据I2C读数据:以EEPROM的AT24C02为例子 芯片的寻址: 操作时序:从AT24C02中读取数据1、读取当前地址的数据 2、读取随即地址的数据3、连续读数据软件I2C和硬件I2CI2C总线的概念I²C(Inter-IntegratedCircuit),中文应该叫集成电路总线,它是一种串行通信总线,使用多主从架构,是由飞利浦公司在1980年代初设计的,方便了主板、

TP驱动——I2C驱动,细节分析——dts设备树

文章目录1.小序2.module_init之后的流程3获取对应pin信息3.1小注1.小序TP驱动程序,是指带屏幕设备的触屏功能调用的驱动程序。TP外设与主板之间的关系如下框图:产品常用的屏幕单元为液晶显示屏幕,TP的触摸功能也是一同集成到一起的,通过控制芯片以及外围电路、i2c总线与主板进行通信。TP驱动的功能逻辑:当有触点发生时,TP芯片向主板传递中断信号驱动在收到中断后,调用驱动的中断处理函数中断处理函数中,唤醒触点处理线程处理线程通过i2c读取TP-IC内寄存器里的数据并处理2.module_init之后的流程此处在添加TP-I2C驱动,通过driver来匹配device中的compa

4针0.96寸OLED的HAL库代码(硬件I2C/全代码/stm32f1/CubeMX配置/包含有正负浮点数/100%一次点亮)

系列文章目录(STM32常用外设/HAL库版)一、HC-SR04超声波模块的使用二、4针OLED的HAL库代码介绍及使用(本篇)三、7针OLED的HAL库代码介绍及使用四、编码电机以及双电机驱动更多有意思的文章点击“我的主页”--------😐更多有意思的视频----->B站@想要亿只独角兽--------😐文章目录系列文章目录(STM32常用外设/HAL库版)前言效果展示全屏滚动并正反相显示不同大小的字符串、整数、汉字、图片正反相显示不同大小的正负浮点数一、OLED驱动的基本功能二、CubeMX中的设置2.1.配置时钟树2.2.配置I2C三、HAL库代码3.1.main.c3.2.oled.