【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相关推荐

  1. 【STM32】I2C相关函数和类型

    00. 目录 文章目录 00. 目录 01. I2C简介 02. 相关类型 03. 相关函数 04. 结构体封装 05. 预留 06. 附录 07. 声明 01. I2C简介 I2C(内部集成电路)总 ...

  2. 【STM32】I2C详解

    00. 目录 文章目录 00. 目录 01. I2C简介 02. I2C主要特性 03. I2C功能说明 04. I2C中断 05. I2C相关寄存器 5.1 I2C 控制寄存器 1 (I2C_CR1 ...

  3. Linux clock子系统【3】-i2c控制器打开时钟的流程分析(devm_clk_get)(consumer侧)

    文章目录 前言 一.硬件流程图 二.晶振设备树描述 三. I2CX时钟设备树描述 四.驱动中获得/使能时钟 4.1 流程源码分析 4.1.1 devm_clk_get(struct device *d ...

  4. 【InterFace】I2C 总线详述

    背景 昨天出去了一趟,人问:你熟悉什么?答:软硬件.结果,好尴尬. 硬件一般都做什么内容? 答:电源设计. 能说下升压.降压电路是怎么实现的吗? 答:不能.(Ps:后续增加 电源设计原理) 通讯都用到 ...

  5. 【PEST++】05 QA常见问题释疑

    目录 0 PEST++系列文章 1 第一位朋友 ZJ 2 第二位朋友 LGH 3 第三位朋友 XY 0 PEST++系列文章 [PEST++]01 参数优化与灵敏度分析 [PEST++]02 新安江模 ...

  6. 【转】 i2c驱动调试经验

    原文网址:http://blog.csdn.net/cmm20071020/article/details/7179958 把一个i2c驱动从2.6.21升级到2.6.39 上网查到一篇帖子,讲了驱动 ...

  7. 【原创】【I2C】I2C介绍

    一.这是个什么玩意 I2C首先它也是一个通信接口,同理通信接口就是用于模块之间的通信的,同SPI接口学习思路一样,首先明白它是一个接口,然后再扣它是一个怎么样的接口. I2C(Inter-Integr ...

  8. 【RTT】I2C总线设备:分析

    I2C总线设备 概要 一.I2C硬件资源初始化 二.软件I2C的注册函数 三.I2C总线设备的注册 四.I2C总线设备的初始化 五.I2C的数据 六.I2C总线设备的使用 1. 查找I2C总线设备 2 ...

  9. 【sylixos】i2c设备驱动创建和使用

    前提是需要已实现过i2c总线驱动 步骤 步骤分为几步: 创建设备 API_I2cAdapterCreate 传输消息 API_I2cDeviceTransfer 发送消息 API_I2cDeviceM ...

最新文章

  1. Dockerfile构建实践
  2. 万字总结 MySQL核心知识,赠送25连环炮
  3. STIMULUS(二) —— Hello, Stimulus
  4. android滚轮实现时间年月日选择
  5. java string blob_java String类型转换为Blob类型
  6. mysql 学习笔记13 查询语句强化
  7. Java:注解和反射
  8. Linux——用户管理简单学习笔记(三)
  9. 001 基本的环境的安装
  10. Machine learning for improved image-based wavefront sensing
  11. Lecture 1:强化学习简介
  12. 最新AZ自动发卡网源码-全网首发
  13. Mysql拼接查询结果
  14. upload.js 文件图片上传
  15. mysql 写备注_mysql怎么添加备注
  16. 笔试——大华FPGA
  17. SpringCloud无法读取bootstrap配置文件
  18. unity获取脚本组件_Unity脚本组件
  19. iOS 开发第三方库全集
  20. Windows 应急流程及实战演练

热门文章

  1. 钢丝流-BISU的战斗哲学
  2. 5.6版本GTID复制异常处理一例(转)
  3. krita windows编译源码
  4. 格灵深瞳将登陆科创板募资18亿,AI天才未来能否走出巨亏困局?
  5. 秦储一行拜访陕西省文联和陕西新华出版传媒集团
  6. python+nodejs+vue酒店点餐饮系统项目
  7. spring事务管理tx:Advice详解
  8. php 聚合广告平台,GitHub - mystudytime/easy-amazon-advertising: 基于 amazon advertising v2 接口的 PHP 广告信息组件...
  9. 西南石油大学计科院主页
  10. 【函数参数传递】编写一个函数,统计字符串中小写字母的个数,并把字符串中的小写字母转化成大写字母。