Linux Kernel 4.19+内核使用GPIO模拟I2C的方法

1.修改内核配置文件,使内核支持GPIO模拟I2C

复制代码
//开启方式
make menuconfig
Device Drivers --->
	<*> I2C support  --->
		I2C Hardware Bus support  ---> 
			<*> GPIO-based bitbanging I2C

2.对应的dts里面增加GPIO模拟I2C的设备树

复制代码
注意头文件:#include <dt-bindings/gpio/gpio.h>
	i2c@0 {
		compatible = "i2c-gpio";
		sda-gpios = <&gpio_chip16 3 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
		scl-gpios = <&gpio_chip16 4 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
		i2c-gpio,delay-us = <2>;	/* ~100 kHz */
		#address-cells = <0>;
		#size-cells = <0>;
	};

编译后烧写,会发现/dev下多了一个i2c总线,多出来的那个就是了。

相关推荐
ha204289419440 分钟前
Linux操作系统学习记录之----自定义协议(网络计算器)
linux·网络·学习
想唱rap44 分钟前
MYSQL在ubuntu下的安装
linux·数据库·mysql·ubuntu
糖~醋排骨1 小时前
DHCP服务的搭建
linux·服务器·网络
dust_and_stars1 小时前
ubuntu24使用apt安装VS-code-server code-server
linux·服务器·windows
码农小韩1 小时前
基于Linux的C++学习——循环
linux·c语言·开发语言·c++·算法
ling-452 小时前
Linux-day09 11
linux·运维·服务器
202321336054 刘2 小时前
Linux常用命令分类整理
linux·运维·数据库
南工孙冬梅2 小时前
【久久派】 新世界系统安装
linux
zbguolei2 小时前
Debian提示:“用户名” 不是 sudoers 文件
linux·服务器·debian
梦星辰.2 小时前
超大 JSONL 数据集交互式查看器 Linux便捷工具
linux·windows·microsoft