- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在i2c协议(protocol)中改变占空比有什么意义?大多数高级微 Controller 都具备该功能。
最佳答案
占空比很重要,因为不同的 I²C 模式的占空比略有不同。
查看 I²C 规范 v5 表 10,第 12 页。 48.
Mode | t_HIGH | t_LOW | ratio
--------------+--------+-------+-------
Standard-mode | 4.00u | 4.7u | 0.85
Fast-mode | 0.60u | 1.3u | 0.46
Fast-mode Plus| 0.26u | 0.5u | 0.52
为了符合 I²C 规范,您的 Controller 需要确定一个比率。
例如,如果 Controller 使用标准模式时序比,这将阻止您以最大时钟频率实现快速模式时序。
这些是标准中为最小 t_HIGH:t_LOW 定义的比率。但是,请注意 100 kHz 周期为 10 us,但表中的 t_HIGH + t_LOW 小于 10 us。因此,只要满足 t_HIGH 和 t_LOW 最小时序,实际值的比率就可以变化。
这些比率的要点是说明 I²C 时序约束在 I²C 模式之间是不同的。它们不是 Controller 需要保留的强制性比率。
例如,4 us high,6 us low 将是 0.67 比率,但仍会满足标准模式时序。
STM32F4 示例:
STM32F4xx 系列仅支持 100 kHz 和 400 kHz 通信速度(RM0090,修订版 5,第 818 页,第 27.2 节)。
我不知道您的比例从何而来,但引用手册指出(RM0090,修订版 5,第 849 页,第 27.6.8 节)标准模式的比例为 1:1,而标准模式为 1:2 或 9:快速模式的比率为 16。
因此,例如,要实现 100 kHz 的最高标准模式时钟频率,t_HIGH 和 t_LOW 需要编程为 5 us,因为比率为 1:1。
对于快速模式,例如 1:2 的比率,您需要将 t_HIGH 编程为 3.33 us,将 t_LOW 编程为 6.66 us,以达到 100 kHz。然而,这不符合标准模式的时序要求。
因此,您不能使用为快速模式编程的 STM32F4,同时将标准模式时序保持在最高标准模式频率。
反之亦然:您不能使用标准模式并编程 400 kHz 快速模式,因为默认的 1:1 比率超出 2.5 us 的规范,因为 t_LOW 将是 1.25 us < 1.3 us。
关于microcontroller - I2C 占空比意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31384447/
我的 DateTime 对象使用 DateTime.Now 分配了本地时间。我想知道一旦夏令时开始/结束,这个对象是否会给出正确的当前本地时间。或者我需要解决方法吗? 最佳答案 是的,DateTime
假设我需要“特定类别中可用的项目数量”与“所有项目的数量”的比率。请考虑这样的 MySQL 表: /* mysql> select * from Item; +----+------------+--
我有这张 table http://codepen.io/MetCastle/pen/lxceL我想使用 jQuery 根据 input type="number" 隐藏/显示列。表示整个列: Pro
想要制作一个看起来像这样的网格,其中 div/section 以百分比表示。 margin 在任何地方都是一样的。 http://www.ladda-upp.se/bilder/giefekcmgwm
这将返回 1(又名 TRUE) SELECT DATE_SUB(NOW(), INTERVAL 24*100 HOUR) = DATE_SUB(NOW(), INTERVAL 100 DAY); 10
我一直在尝试在 UIScrollView 中获取 UIView 的转换后的 CGRect。如果我不放大它就可以正常工作,但是一旦我放大,新的 CGRect 就会发生变化。这是让我接近的代码: CGFl
对于家庭作业,我需要在不使用内置模 (%) 运算符的情况下返回 num1 除以 num2 后的余数。我能够通过以下代码让大多数测试通过,但我仍然坚持如何解释给定数字的 -/+ 符号。我需要保留 num
我用 Javascript 创建了一个倒数计时器;它是成功的,期望未完成。事实上,从数学上讲,它是正确的,但是谷歌浏览器的浏览器设置“暂停”(因为没有更好的术语)SetInterval/Timeout
我有两个 的,每个都设置为其容器宽度的 45%。有没有办法使 居中?使得它们在容器的左右两侧有相同的空间,并且它们之间也有空间。 一开始我只是做了每个 50% 并且有 padding: 0px 2
我是一名优秀的程序员,十分优秀!