了解i2c_check_functionality()

i2c_check_functionality()用来检查设备适配器支持的标志是否要求。

打开“include/linux/i2c.h”

/* Return the functionality mask */

static inline u32 i2c_get_functionality(struct i2c_adapter *adap)

{

return adap->algo->functionality(adap);

//返回该适配器支持的标志

}

/* Return 1 if adapter supports everything we need, 0 if not. */

static inline int i2c_check_functionality(struct i2c_adapter *adap, u32 func)

{

return (func & i2c_get_functionality(adap)) == func;

    //如果I2C适配器支持func,则返回1;

}

举例:

打开“/usr/include/linux/i2c.h”

/* To determine what functionality is present */

#define I2C_FUNC_I2C 0x00000001

#define I2C_FUNC_10BIT_ADDR 0x00000002

#define I2C_FUNC_PROTOCOL_MANGLING 0x00000004 /* I2C_M_IGNORE_NAK etc. */

#define I2C_FUNC_SMBUS_PEC 0x00000008

#define I2C_FUNC_NOSTART 0x00000010 /* I2C_M_NOSTART */

#define I2C_FUNC_SLAVE 0x00000020

#define I2C_FUNC_SMBUS_BLOCK_PROC_CALL 0x00008000 /* SMBus 2.0 */

#define I2C_FUNC_SMBUS_QUICK 0x00010000

#define I2C_FUNC_SMBUS_READ_BYTE 0x00020000

#define I2C_FUNC_SMBUS_WRITE_BYTE 0x00040000

#define I2C_FUNC_SMBUS_READ_BYTE_DATA 0x00080000

#define I2C_FUNC_SMBUS_WRITE_BYTE_DATA 0x00100000

#define I2C_FUNC_SMBUS_READ_WORD_DATA 0x00200000

#define I2C_FUNC_SMBUS_WRITE_WORD_DATA 0x00400000

#define I2C_FUNC_SMBUS_PROC_CALL 0x00800000

#define I2C_FUNC_SMBUS_READ_BLOCK_DATA 0x01000000

#define I2C_FUNC_SMBUS_WRITE_BLOCK_DATA 0x02000000

#define I2C_FUNC_SMBUS_READ_I2C_BLOCK 0x04000000 /* I2C-like block xfer  */

#define I2C_FUNC_SMBUS_WRITE_I2C_BLOCK 0x08000000 /* w/ 1-byte reg. addr. */

#define I2C_FUNC_SMBUS_HOST_NOTIFY 0x10000000


i2c_check_functionality(client->adapter, I2C_FUNC_I2C);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/970529.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++效率掌握之STL库:string底层剖析

文章目录 1.学习string底层的必要性2.string类对象基本函数实现3.string类对象的遍历4.string类对象的扩容追加5.string类对象的插入、删除6.string类对象的查找、提取、大小调整7.string类对象的流输出、流提取希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力…

SCI学术论文图片怎么免费绘制:drawio,gitmind

SCI学术论文图片怎么免费绘制 目录 SCI学术论文图片怎么免费绘制overleaf怎么图片不清晰怎么办SCI学术论文图片怎么导出pdfdrawiogitmind**1. 使用在线工具****Lucidchart****2. Draw.io****3. ProcessOn****4. 使用桌面工具****Dia****5. 使用Markdown工具(如Typora)**如果你…

对于RocksDB和LSM Tree的一些理解,以及TiDB架构初识

LSM Tree的读写过程 HBase、LevelDB,rocksDB(是一个引擎)底层的数据结构是LSM Tree适合写多读少的场景,都是追加写入内存中的MemTable,写入一条删除(或修改)标记,而不用去访问实际的…

Java 设计模式之迭代器模式

文章目录 Java 设计模式之迭代器模式概述UML代码实现Java的迭代器 Java 设计模式之迭代器模式 概述 迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。 UML Iterator:迭代器接口&#xff…

【原创】解决vue-element-plus-admin无法实现下拉框动态控制表单功能,动态显隐输入框

前言 目前使用vue-element-plus-admin想要做一个系统定时任务功能,可以选择不同的定时任务类型,比如使用cron表达式、周期执行、指定时间执行等。每种类型对应不同的输入框,需要动态显隐输入框才行,但是这个vue-element-plus-adm…

上位机学习之串口通信与温湿度项目实战

文章目录 一、串口通信与温湿度项目实战1、学习串口通信硬件:巩固RS-485串口硬件和通信基础知识1.1、串行通信的数据流和格式1.2、串口通信参数设置1.3、modbus协议基础1.4、数据存储和功能代码1.5、modbus通信报文分析 2、主-从通信仿真测试2.1、组件设计2.2、创建…

深度求索—DeepSeek API的简单调用(Java)

DeepSeek简介 DeepSeek(深度求索)是由中国人工智能公司深度求索(DeepSeek Inc.)研发的大规模语言模型(LLM),专注于提供高效、智能的自然语言处理能力,支持多种场景下的文本生成、对…

Zotero7 从下载到安装

Zotero7 从下载到安装 目录 Zotero7 从下载到安装下载UPDATE2025.2.16 解决翻译api异常的问题 下载 首先贴一下可用的链接 github官方仓库:https://github.com/zotero/zotero中文社区:https://zotero-chinese.com/官网下载页:https://www.z…

沃德校园助手系统php+uniapp

一款基于FastAdminThinkPHPUniapp开发的为校园团队提供全套的技术系统及运营的方案(目前仅适配微信小程序),可以更好的帮助你打造自己的线上助手平台。成本低,见效快。各种场景都可以自主选择服务。 更新日志 V1.2.1小程序需要更…

Spring Boot (maven)分页3.0版本 通用版

前言: 通过实践而发现真理,又通过实践而证实真理和发展真理。从感性认识而能动地发展到理性认识,又从理性认识而能动地指导革命实践,改造主观世界和客观世界。实践、认识、再实践、再认识,这种形式,循环往…

解锁机器学习算法 | 线性回归:机器学习的基石

在机器学习的众多算法中,线性回归宛如一块基石,看似质朴无华,却稳稳支撑起诸多复杂模型的架构。它是我们初涉机器学习领域时便会邂逅的算法之一,其原理与应用广泛渗透于各个领域。无论是预测房价走势、剖析股票市场波动&#xff0…

广告深度学习计算:阿里妈妈大模型服务框架HighService

一、背景 HighService(High-Performance Pythonic AI Service) 是在支持阿里妈妈业务过程中,不断提炼抽象出的高性能Python AI服务框架,支持视频、图文、LLM等多种模型,能够显著加快模型的推理速度,提高集群的资源利用效率。随着S…

稀土抑烟剂——为汽车火灾安全增添防线

一、稀土抑烟剂的基本概念 稀土抑烟剂是一类基于稀土元素(如稀土氧化物和稀土金属化合物)开发的高效阻燃材料。它可以显著提高汽车内饰材料的阻燃性能,减少火灾发生时有毒气体和烟雾的产生。稀土抑烟剂不仅能提升火灾时的安全性,…

如何下载AndroidStudio的依赖的 jar,arr文件到本地

一、通过jitpack.io 下载依赖库 若需要下载 com.github.xxxxx:yy-zzz:0.0.2 的 jar则 https://jitpack.io/com/github/xxxxx/yy-zzz/0.0.2/ 下会列出如下build.logyy-zzz-0.0.2.jaryy-zzz-0.0.2.pomyy-zzz-0.0.2.pom.md5yy-zzz-0.0.2.pom.sha1jar 的下载路径为https://jitpack…

【仪器仪表专题】案例:示波器控制通道开关SCPI命令不同的原因

背景 在文章【仪器仪表专题】仪器支持SCPI控制,要怎么验证命令是否正确?-CSDN博客中我们提到SCPI命令的历史。并且提到了关于制造商为控制仪器而使用的命令,除了公共命令外,并没有统一的规则。比如同一位制造商生产的不同型号仪器甚至会采用不同的规则。 如下所示的众多仪器…

【Deepseek 零门槛指南】DeepSeek 教程和常见问题解答 | 大白技术控

粉丝朋友们大家好,我是极客学长。最近一直在玩 DeepSeek,积累了一点经验,用它提高写作的效率挺好用的。 在使用DeepSeek的过程中,也遇到了如下几个问题(相信很多小伙伴也遇到了): DeepSeek 官网卡顿,突然出…

2025年SEO工具有哪些?老品牌SEO工具有哪些

随着2025年互联网的发展和企业线上营销的日益重要,SEO(搜索引擎优化)逐渐成为了提高网站曝光率和流量的重要手段。SEO的工作不仅仅是简单地通过关键词优化和内容发布就能够实现的,它需要依赖一系列专业的SEO工具来帮助分析、监测和…

怎么让DeepSeek自动化写作文案

在数字化时代,内容创作已成为企业争夺用户注意力的核心竞争力。面对海量信息需求,企业往往面临内容创作效率低下、质量参差不齐、周期长等问题。如何用技术手段解决这些痛点,成为企业迫切需要破解的难题。今天,我们将以DeepSeek为…

【vue3】实现pdf在线预览的几种方式

今天一天对当前可用的pdf预览插件做了测试,主要需求是只能预览不能下载,但对于前端来说,没有绝对的禁止,这里只罗列实现方式。 目前采用vue3版本为:3.2.37 iframevue-officepdfjs-dist iframe 先说最简单的&#xf…

软件测试之接口测试理论知识

文章目录 前言接口的定义接口的分类 接口测试什么是接口测试接口测试的基本原理为什么要进行接口测试?接口测试的测试范围(测试维度) 接口测试的流程1.需求分析2.接口文档分析接口文档分析要素 3.编写接口测试计划4.编写接口测试用例&评审…