I2C

HT32_EXTI模拟I2C从机

随手记,实测可在100KHz下运行 1 /*********************************************************************************************************//** 2 * @brief This fun ......
EXTI I2C HT 32 2C

linux自带i2c工具使用

I2C总线被全球超过50个公司的1000+个ICs所使用,已然是一个世界标准.另外,I2C总线与多种不同的控制总线是兼容的,比如SMBus(系统管理总线),PMBus(电源管理总线),IPMI(智能平台管理总线),DDC(显示数据通道)以及ATCA(高级电信架构).如果没记错的话,linux中的I2 ......
工具 linux i2c i2 2c

软件I2C读SHT20温湿度传感器

使用GPIO模拟I2C、 开始信号S void S_Soft_I2C_Start(void); 结束信号P void S_Soft_I2C_Stop(void ); 发送1字节 void S_Soft_I2C_Send_1Byte(uint8_t S_I2C_Byte); 接收1字节 uint8_t ......
传感器 软件 I2C SHT I2

SHT20温湿度传感器数据读取/HAL/硬件I2C

SHT20 Command Hold/No Hold Master Mode Hold Master Mode : SHT20在测量完之前会拉低SCL,暂停通信。 NoHold Master mode :测量未完成,SHT20 只回应 NACK *数据最后两位是状态位,计算时置0 #include ......
传感器 硬件 数据 SHT HAL

stm32f103移植u8g2(硬件I2C)

移植过程主要参考这篇博客:https://www.cnblogs.com/frozencandles/p/16358483.html 但是涉及到下面两个函数的时候: 1 uint8_t u8x8_gpio_and_delay_hw(u8x8_t *u8x8, uint8_t msg, uint8_t ......
硬件 f103 u8g2 stm 103

I2C知识总结

##一、 1.I2C接两个上拉电阻的意义 节选自百度百科中 高阻态 电路设计人员经常使用上拉电阻以及下拉电阻(通常为1至100 kΩ)让这个处于三态的节点能有确定的默认逻辑状态,防止状态不定或感染噪声。例如,I²C总线协议(一种常用的设备间双向通信的协议)在两条通信线上使用了上拉电阻。当设备处于非激 ......
知识 I2C I2 2C

zynq7000 I2C RTC 与 串口使用

RS485 串口 测试 硬件上2路串口,其中UART 1对应PS STD IN/OUT,UART 0对应RS485; 图 ‑1 RS485电路,自动转换输入、输出方向 可参考 https://blog.csdn.net/qq_39400113/article/details/122387133 图 ......
串口 zynq 7000 I2C RTC

I2C死锁产生机理与解决方法

在I2C实际使用过程中,最容易出现的一个问题就是死锁 ,其主要表现为:SCL持续为高,SDA持续为低。 # 产生机理 I2C死锁产生的机理是:当Slave**输出应答信号**或者**输出数据0**时,Master发生异常复位,此时SCL会保持或被释放为高电平,但因为Slave没有复位,就会继续应答, ......
机理 方法 I2C I2 2C

I2C系统驱动程序模型 -8

参考资料: Linux内核文档: Documentation\i2c\instantiating-devices.rst Documentation\i2c\writing-clients.rst Linux内核驱动程序示例: drivers/eeprom/at24.c 1. I2C驱动程序的层次 ......
驱动程序 模型 程序 系统 I2C

Linux下的I2C驱动

1. Linux中I2C需要编写的驱动🌴 I2C的驱动程序分为两个部分: I2C主机驱动:I2C适配器的驱动程序 I2C设备驱动:I2C设备的驱动程序 I2C总线驱动:用户不用做这一部分 I2C协议和SMBus协议: I2C (pronounce: I squared C) is a protoc ......
Linux I2C I2 2C

Linux驱动之i2c驱动

一、I2C简介 ​ I2C是很常用的总线协议。它使用两条线在主控制器与从机直接进行数据通信。一条是时钟线,一条是数据线,两条数据线都要接4.7K的上拉电阻,空闲的时候处于高电平。I2C总线的标准模式下传输速度可以达到100k/s,快速模式达到400k/s。 ​ 常见的I2C驱动从设备有电容触摸屏,C ......
Linux i2c 2c i2

关于调试一个I2C设备的问题

现象:最近在做一个含有oled屏幕的产品,屏幕使用i2c方式通信,但出现许多奇奇怪怪的问题,如stm32单片机上只能用开漏的方式亮屏,用推挽方式亮不了;在合宙单片机上只能用推挽,用开漏驱动不了。用推挽驱动起来的屏幕显示也是怪怪的,屏幕内容总是抖动。 #ifdef oled_ic_ch1115 GPI ......
设备 问题 I2C I2 2C

linux I2C驱动

1.linux IIC驱动 由于裸机的驱动迎合驱动的分离和分层的思想,分为IIC主机驱动(接口驱动)和IIC设备驱动. 这种思想的好处,请看我写的另外一篇文章Linux驱动的分离和分层。 其中上面说的裸机驱动请看这篇文章裸机驱动 但是裸机的驱动是没有加入操作系统的 本文也是遵循Linux驱动的分离和 ......
linux I2C I2 2C

Linux驱动:I2C驱动

一、前言 I2C协议是在开发中使用非常频繁的一种协议,相信大家在学习单片机的时候经常会用到支持I2C协议的模块,I2C 总线仅仅使用 SCL、SDA 这两根信号线就实现了设备之间的数据交互,极大地简化了对硬件资源和 PCB 板布线空间的占用。因此,I2C 总线被非常广泛地应用在 EEPROM、实时钟 ......
Linux I2C I2 2C

正点原子 第六十一章 Linux I2C驱动实验 编程感受

正点原子官方文档的代码结构太乱,我于是这样做了。 我将主要的程序分2部分: 第一部分:my_ap3216c.c 第二部分:my_ap3216c_base.c 第一部分放 Linux 驱动框架,比如 fops 函数, platform 框架这些。 第二部分放 ap3216c 底层驱动,包括向ap321 ......
原子 Linux I2C I2 2C

I2C系统的重要结构体 -4

I2C系统的重要结构体 参考资料: Linux驱动程序: drivers/i2c/i2c-dev.c I2CTools: https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/ 1. I2C硬件框架 2. I2C传输协议 写操作 读 ......
结构 系统 I2C I2 2C

STM32软件I2C驱动MPU6050

# STM32软件I2C驱动MPU6050 ## STM32F103C8T6基于Keil MDK标准库 ### 硬件接线 这里没有什么复杂的地方,采用MPU6050的现成模块.模块的SCL接B10,SDA接B11,这里连接了一个OLED显示屏,用于显示获取到的数据. **注意:这里使用的模块自带上拉 ......
软件 6050 STM I2C MPU

PMIC I2C操作

# SPMI与I2C的区别 SPMI基于I2C,对I2C做更多的升级和优化,是MIPI行业SoC与外设的标准通信接口。 - SPMI支持multiple master/multiple slave,支持总线的硬件公平仲裁 - SPMI速率最高到26MHz,I2C最高3.4MHz # I2C的总线仲裁 ......
PMIC I2C I2 2C

I2C调试记录

记录调试I2C碰到的问题。 1. 调试一个STM8芯片做从机,总是接收不到数据。后来发现些的代码把电平逻辑弄反了。 2. 调试一个AW的芯片,发现它有个别的的引脚输出信号出现异常。后来看I2C波形发现主控的I2C时钟飘荡,偶尔会达到500K。查手册知AW的芯片最高速率是400K,降低速率后问题消失。 ......
I2C I2 2C

8通道I2C输出及自动校准功能低待机电流抗电压波动高灵敏度电容度大小触摸检测IC芯片VK36W8I资料分享

产品型号 :VK36W8I 产品品牌:VINKA永嘉微电 产品年份:新年份Z20+28 封装形式:SOP16 简介:VK36W8I具有8个触摸检测通道,可用来检测8个点的水位。该芯片具有较高的集成度,仅需极少的外部组件便可实现触摸按键的检测。 提供了I2C输出功能,可方便与外部MCU之间的通讯,实现 ......
灵敏度 电容 电流 电压 芯片

MLX90614 i2c地址读取

#include<Wire.h> void setup() { // put your setup code here, to run once: Wire.begin(); Serial.begin(115200); } uint16_t result1; void loop() { // put ......
地址 90614 MLX i2c 2c

【雕爷学编程】Arduino动手做(128)---2路I2C电平转换模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问 ......
电平 模块 Arduino 128 I2C

32 IIC(十)I2C GPIO

[源码](https://gitee.com/super_glob/linux-driver-code/tree/master/2023.06.24_i2c_gpio) ## 1. 设备树 gpio模拟iic ```c i2c_gpio: i2c-gpio { /* gpio模拟iiccompati ......
GPIO IIC I2C 32 2C

了解下有关I2C总线上的上拉电阻选择

之前没太注意到I2C的上拉电阻的阻值选型,一直参考别人或是芯片资料上推荐的阻值,10K居多,用起来确实没啥大问题,且很多的芯片手册上也不会具体描述这个电阻的选型。 当查看ST的M24C08 EEPROM器件手册时,发现下图曲线,上拉电阻的选型,与SCL的频率、总线上的寄生电容有关,这个很有意思,可以 ......
总线 电阻 I2C I2 2C

Linux环境下I2C应用程序编写

原文:https://blog.csdn.net/propor/article/details/129667596 本文介绍Linux环境下,对I2C设备进行操作。 在对I2C总线进行操作时,可采用i2c-tools对I2C进行查看及操作,待通过工具可对I2C进行操作后,再编写程序进行操作。 1.i ......
应用程序 环境 程序 Linux I2C

I2C协议(二)

- 参考 - https://blog.csdn.net/zhangduang_KHKW/article/details/121953275 - https://blog.csdn.net/u010027547/article/details/47779975 - https://blog.csdn ......
I2C I2 2C

I2C总线与SMbus总线的区别

本文转载自: 彻底搞懂I2C总线(4)I2C总线的其他用途 (baidu.com) 摘要 本章节阐述了I2C总线的其他用途,如用于CBUS总线、SMBUS总线、PMBUS总线、IPMI接口、ATCA通信、DDC通信等。 四. I2C总线通信协议的其他用途 I2C总线被用作多种系统结构的通信协议。除了 ......
总线 SMbus I2C I2 2C

STM32H7 I2C主机读数据【寄存器操作】

I2C初始化 /* I2C2 init function */ void MX_I2C2_Init(void) { /* USER CODE BEGIN I2C2_Init 0 */ /* USER CODE END I2C2_Init 0 */ LL_I2C_InitTypeDef I2C_Ini ......
寄存器 主机 数据 STM 32H

使用 I2C 来与子设备通信

使用 I2C 来与子设备通信 使用 I2C 来与子设备通信 使用 I2C 来与子设备通信 使用 I2C 来与子设备通信 ......
设备 I2C I2 2C

27 IIC(五)i2c体系结构

## 1. I2C体系结构组成 在linux中i2c驱动由三部分组成:i2c-core(i2c核心)、i2c总线驱动、i2c设备驱动 ![](https://img2023.cnblogs.com/blog/1557439/202305/1557439-20230523223355446-57639 ......
体系结构 体系 结构 IIC i2c