视壮科技:VS-RK3399简单的I2C 功能介绍
VS-RK3399 开发板上有 9 个片上 I2C 控制器,各个 I2C 的使用情况如下表:
本文主要描述如何在该开发板上配置 I2C。
配置 I2C 可分为两大步骤:
下面以配置 GSL3680 为例。
定义和注册 I2C 设备
在注册I2C设备时,需要结构体 i2c_client 来描述 I2C 设备。然而在标准Linux中,用户只需要提供相应的 I2C 设备信息,Linux就会根据所提供的信息构造 i2c_client 结构体。
用户所提供的 I2C 设备信息以节点的形式写到 dts 文件中,如下所示:
kernel/arch/arm64/boot/dts/rockchip/rk3399-videostrong-board-mipi.dts&i2c4 { status = "okay"; 定义和注册 I2C 驱动定义 I2C 驱动
在定义 I2C 驱动之前,用户首先要定义变量 of_device_id 和 i2c_device_id 。
of_device_id 用于在驱动中调用dts文件中定义的设备信息,其定义如下所示:
static struct of_device_id gsl_ts_ids[] = { {.compatible = "gslX680"}, {} };
定义变量 i2c_device_id:
static const struct i2c_device_id gsl_ts_id[] = {
i2c_driver 如下所示:
static struct i2c_driver gsl_ts_driver = {
注:变量id_table指示该驱动所支持的设备。
注册 I2C 驱动
使用i2c_add_driver函数注册 I2C 驱动。
i2c_add_driver(&gsl_ts_driver);
在调用 i2c_add_driver 注册 I2C 驱动时,会遍历 I2C 设备,如果该驱动支持所遍历到的设备,则会调用该驱动的 probe 函数。
通过 I2C 收发数据
在注册好 I2C 驱动后,即可进行 I2C 通讯。
int i2c_master_send(const struct i2c_client *client, const char *buf, int count) {
int i2c_master_recv(const struct i2c_client *client, char *buf, int count) { |
视壮科技:VS-RK3399简单的I2C 功能介绍相关推荐
- 视壮提前祝大家国庆快乐!
深圳市视壮科技有限公司成立于1998年,是一家专注于开源智能硬件,数字音视频,物联网产品的研发设计.生产和销售,同时提供了智能硬件产品的整体解决方案.公司拥有一支强大的瑞芯微(Rockchip)方案的 ...
- 视通科技互动录播主机,互动教学超简单!
现如今随着录播系统的逐渐深入,很多学校开始安装录播教室,通过录制.直播.点播等方式,把最优秀的教育资源共享到各个学校. 互动录播教学,是在教学过程中利用互动录播系统实现教与学双方交流.沟通.探讨,激发 ...
- 二进制转8421bcd码_中山CVI转CVBS芯视音科技原装
中山CVI转CVBS芯视音科技原装 深圳市芯视音科技有限公司,是一家专注于音视频转换方案和IC研发的实力公司.涵盖视频展台.工业相机.视频矩阵.视频转换.游戏设备周边方案,车载安防周边等领域,总部设在 ...
- 视通科技车载应急指挥调度解决方案
应急指挥车.应急指挥系统作为整个应急指挥平台的主要组成部分,被广泛用于救灾抢险,安全保障等特殊场景,可通过应急指挥车或现场应急指挥系统与后方指挥中心传输音视频信息,实现现场与指挥中心的实时通信,进行视 ...
- 视通科技助力某法院审委会打造多媒体会议室
审判委员会是人民法院内部对审判工作实行集体领导的组织形式,主要任务是总结审判经验,讨论重大的或者疑难的案件和其他有关审判工作的问题. 本次视通科技助力某法院审委会打造多媒体会议室,满足多媒体调度及会议 ...
- 视通科技科技法庭解决方案
科技法庭是根据国家和最高法院发布的有关标准和规范,满足庭审过程公开.公正.高效.真实.透明的要求,打破时间和空间因素对庭审活动的限制,最大限度规范庭审活动,提高庭审效率,为法官.当事人.群众提供便捷的 ...
- 视通科技音视频解决方案
企业的分支机构遍布各地,企业内部的跨地域沟通必不可少,确保信息互通的及时性,让问题在第一时间得到解决尤其重要.因此,拥有一个智能会议室有明显的积极意义,无论是从节约能源还是提升效率. -项目概况- 此 ...
- 视通科技助力消防队打造智能化指挥中心
应急指挥中心正在进行信息化升级转型,丰富数据资源与关键应用布局,实现更精准.高效地监控预警与实时应急指挥. 视通科技研发的新一代AS-ADS 4K分布式KVM坐席拼控系统能够实现视频会议.视频监控.语 ...
- 视壮VS-RK3399开发板播放视频步骤共享
视壮VS-RK3399开发板播放视频步骤共享: 大家都知道VS-RK3399开发板可应用与平板电脑.商用平板.高端平板等各类商业显示器,那么各位童鞋对于如何VS-RK3399播放视频知道吗?了解更多请 ...
最新文章
- Linux里新建文件/目录的默认权限
- python logging logger
- 【原创】【专栏】《Linux设备驱动程序》--- LDD3源码目录结构和源码分析经典链接
- 高档名片设计:12款专业的名片设计欣赏
- linux命令实验设备,实验二 Linux系统的常用命令
- python os如何创建文件夹_Python怎样创建文件夹,怎样删除文件夹
- mysql 数据备份
- Yum安装Memcache
- 7 win 卸载node_如何从windows中完全删除node.js_windows彻底卸载node教程
- 访问tomcat7 java.lang.ClassCastException: org.apache.jasper.el.ELContextImpl
- maven伺服搭建_Maven私服搭建
- 美丽的窗花java分形_“高冷奇葩”原来冰窗花可以这么美
- c语言编写面向对象的类
- Qt环境下利用opencv逐帧播放视频
- 成神之路——实施工程师
- 安装多个win10系统
- 2022年信息安全从业者书单推荐(2022.2.20更新)
- linux添加jetdirect协议,Linux系统中如何打印
- JAVA300集——面向对象编程-类和对象-构造方法及其重载-方法调用
- 【leetcode】442. Find All Duplicates in an Array(Python C++)