【I2C】I2C QA
【I2C】在中断函数中能否使用I2C传输?为什么?
不能,多点原因.
1.中断要求尽快处理,否则会影响到其他中断的响应。(I2C和SPI传输过程都比较耗时)
2.I2C传输(I2C_transfer)时transfer内部如果使用中断传输模式,则会造成“中断嵌套”,会出一些不可预见的错误。(内核可能崩溃)
【I2C】I2C的传输速率有哪几种?如何设置?如何获取?
IIC传输位速率在
标准模式下可达100Kbit/s,
快速模式下可达400Kbit/s,
高速模式下可达3.4Mbit/s;
I2C的传输速率和I2C的时钟频率相关。
时钟频率(Hz)与数据传输速率(bit/s)两者是相同的概念。
时钟频率与数据传输率是如何对等的喃。因为一个SCL时钟周期只能传输1bit数据(并且只能在SCL的低电平期间进行SDA数据电平的变化),
假如SCL的时钟频率为100KHz,那么1s中就能产生100K个SCL时钟周期,也就是说1s中可以传输100Kbit的数据。
此时,可以看出时钟频率100KHz与数据传输率100Kbit/s就是一样的了。
因此,想要设置I2C的传输速率,只需要设置I2C的时钟频率就好了。
I2C时钟频率的设置:
一般是I2C总线控制器里面去设置,和具体的控制器型号和对应的I2C总线驱动相关。
有的I2C总线会注册相应的回调函数,通过i2c_ioctl去设置。
还有的办法就是在dts下面通过clock节点去传递I2C的时钟频率
这样我们就可以在dts下面去获取和设置I2C的时钟频率的。会更加的标准。
【I2C】I2C QA相关推荐
- 【STM32】I2C相关函数和类型
00. 目录 文章目录 00. 目录 01. I2C简介 02. 相关类型 03. 相关函数 04. 结构体封装 05. 预留 06. 附录 07. 声明 01. I2C简介 I2C(内部集成电路)总 ...
- 【STM32】I2C详解
00. 目录 文章目录 00. 目录 01. I2C简介 02. I2C主要特性 03. I2C功能说明 04. I2C中断 05. I2C相关寄存器 5.1 I2C 控制寄存器 1 (I2C_CR1 ...
- Linux clock子系统【3】-i2c控制器打开时钟的流程分析(devm_clk_get)(consumer侧)
文章目录 前言 一.硬件流程图 二.晶振设备树描述 三. I2CX时钟设备树描述 四.驱动中获得/使能时钟 4.1 流程源码分析 4.1.1 devm_clk_get(struct device *d ...
- 【InterFace】I2C 总线详述
背景 昨天出去了一趟,人问:你熟悉什么?答:软硬件.结果,好尴尬. 硬件一般都做什么内容? 答:电源设计. 能说下升压.降压电路是怎么实现的吗? 答:不能.(Ps:后续增加 电源设计原理) 通讯都用到 ...
- 【PEST++】05 QA常见问题释疑
目录 0 PEST++系列文章 1 第一位朋友 ZJ 2 第二位朋友 LGH 3 第三位朋友 XY 0 PEST++系列文章 [PEST++]01 参数优化与灵敏度分析 [PEST++]02 新安江模 ...
- 【转】 i2c驱动调试经验
原文网址:http://blog.csdn.net/cmm20071020/article/details/7179958 把一个i2c驱动从2.6.21升级到2.6.39 上网查到一篇帖子,讲了驱动 ...
- 【原创】【I2C】I2C介绍
一.这是个什么玩意 I2C首先它也是一个通信接口,同理通信接口就是用于模块之间的通信的,同SPI接口学习思路一样,首先明白它是一个接口,然后再扣它是一个怎么样的接口. I2C(Inter-Integr ...
- 【RTT】I2C总线设备:分析
I2C总线设备 概要 一.I2C硬件资源初始化 二.软件I2C的注册函数 三.I2C总线设备的注册 四.I2C总线设备的初始化 五.I2C的数据 六.I2C总线设备的使用 1. 查找I2C总线设备 2 ...
- 【sylixos】i2c设备驱动创建和使用
前提是需要已实现过i2c总线驱动 步骤 步骤分为几步: 创建设备 API_I2cAdapterCreate 传输消息 API_I2cDeviceTransfer 发送消息 API_I2cDeviceM ...
最新文章
- Dockerfile构建实践
- 万字总结 MySQL核心知识,赠送25连环炮
- STIMULUS(二) —— Hello, Stimulus
- android滚轮实现时间年月日选择
- java string blob_java String类型转换为Blob类型
- mysql 学习笔记13 查询语句强化
- Java:注解和反射
- Linux——用户管理简单学习笔记(三)
- 001 基本的环境的安装
- Machine learning for improved image-based wavefront sensing
- Lecture 1:强化学习简介
- 最新AZ自动发卡网源码-全网首发
- Mysql拼接查询结果
- upload.js 文件图片上传
- mysql 写备注_mysql怎么添加备注
- 笔试——大华FPGA
- SpringCloud无法读取bootstrap配置文件
- unity获取脚本组件_Unity脚本组件
- iOS 开发第三方库全集
- Windows 应急流程及实战演练
热门文章
- 钢丝流-BISU的战斗哲学
- 5.6版本GTID复制异常处理一例(转)
- krita windows编译源码
- 格灵深瞳将登陆科创板募资18亿,AI天才未来能否走出巨亏困局?
- 秦储一行拜访陕西省文联和陕西新华出版传媒集团
- python+nodejs+vue酒店点餐饮系统项目
- spring事务管理tx:Advice详解
- php 聚合广告平台,GitHub - mystudytime/easy-amazon-advertising: 基于 amazon advertising v2 接口的 PHP 广告信息组件...
- 西南石油大学计科院主页
- 【函数参数传递】编写一个函数,统计字符串中小写字母的个数,并把字符串中的小写字母转化成大写字母。