在编写或移植驱动程序时,经常会涉及到通讯相关驱动,主要包括UART、I2C、SPI、USB等。 在I2C驱动当中,通讯设备分为主设备和从设备,其中常用函数有: struct I2C_data{ int a; char b[10]; } struct I2C_data save_data, resav ...
分类:
系统相关 时间:
2020-11-18 13:15:20
阅读次数:
16
linux驱动 分为三个部分 驱动 总线 设备 总线有platform虚拟总线,i2c总线等 比如i2c-imx.c将i2c控制器注册为platform形式 platform_driver_register(&i2c_imx_driver); platform总线的两边 分别是driver和devi ...
分类:
系统相关 时间:
2020-07-09 19:43:49
阅读次数:
94
一、前言 前面第二篇文章中,我总结了Linux系统下i2c驱动中的适配器驱动,但是一个完整的总线-设备驱动模型应该包含总线驱动和设备驱动,总线驱动也就是前面所总结的i2c适配器驱动,现在再来总结一下i2c设备驱动的具体实现步骤。 二、硬件平台及内核版本 硬件平台:NXP I.MX6Q(四核) Ker ...
分类:
其他好文 时间:
2020-05-25 00:22:03
阅读次数:
63
1. 关注unreg_slave接口 1.1 这个接口在哪里被调用呢? 在drivers/i2c/i2c-core-slave.c中 int i2c_slave_unregister(struct i2c_client *client) { int ret; 1.2 那么i2c_slave_unre ...
分类:
系统相关 时间:
2019-10-24 13:44:53
阅读次数:
192
I2C总线、设备、驱动 框架 I2C驱动框架可分为3个部分,分别是:I2C核心层、I2C总线驱动层(适配器层)以及I2C设备驱动层; I2C核心层 提供了统一的I2C操作函数,主要有两套函数smbus(system manager bus)和i2c_transfer; 其中smbus是i2c_tra ...
分类:
其他好文 时间:
2019-09-22 22:01:40
阅读次数:
101
专题19-I2C驱动程序设计 第1课-I2C总线介绍 (1) 电气特性 I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。 I2C总线只有两根双向信号线。SDA: Serial Data Line-数据线SCL : ...
分类:
其他好文 时间:
2019-09-03 13:31:42
阅读次数:
97
应该通过什么方法来获得多点触摸屏的数据呢? 控制IC与cpu一般来说是通过I2C或者SPI接口来连接。cpu如何得知控制IC有了数据呢?这个地方是通过中断来实现的。当发生中断以后,驱动程序就可以通过I2C或SPI总线来读取控制IC,获取电容屏的数据。因此这个驱动程序应该是I2C驱动程序与输入子系统的 ...
分类:
其他好文 时间:
2019-08-10 00:04:49
阅读次数:
196
应用 i2c_driver层 (自己编写) i2c_core层 i2c_bus_type (i2c_core.c) i2c_adapter层 (i2c_xxx.c) 硬件 < 结构体> struct i2c_msg { __u16 addr; //数据是传送个哪个从设备 __u16 flags; _ ...
分类:
其他好文 时间:
2019-06-09 09:34:13
阅读次数:
130
LCD/LED液晶控制器及驱动器系列芯片简介如下:RAM映射LCD控制器和驱动器系列VK1024B 2.4V~5.2V 6seg*4com 6*3 6*2 偏置电压1/2 1/3 S0P-16VK1056B 2.4V~5.2V 14seg*4com 14*3 14*2 偏置电压1/2 1/3 SOP ...
分类:
其他好文 时间:
2019-03-09 21:38:32
阅读次数:
250
以用i2c通信的实时时钟为例 框架入口源文件:i2c_m41t11.c (可根据入口源文件,再按着框架到内核走一遍) 内核版本:linux_2.6.22.6 硬件平台:JZ2440 以下是驱动框架: 以下是驱动代码 i2c_m41t11.c : 以下是编译驱动的Makefile: KER_DIR=/ ...
分类:
其他好文 时间:
2019-02-17 22:16:36
阅读次数:
261