野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 19434|回复: 4

关于I2C_ClockSpeed的问题

[复制链接]
发表于 2014-11-29 21:13:08 | 显示全部楼层 |阅读模式
《stm32库开发实战指南》Page170中介绍I2C写的快速模式是400Kbit/s
1.jpg
参数解释的时候写的是
2.png
意思是1Kbit/s=1KHz吗?
我的理解是:
1bit就是1位,也就是高电平1或者低电平0;
1Hz就是1次震荡,也就是电平高低变化一次就是1Hz;
那么如果从单线传输来说的话,应该就是1Hz=2bit吧?
那么设置成快速模式的400KHz不就成800Kbit/s了???

是书上单位写错了,还是我理解有误啊???

回复

使用道具 举报

发表于 2014-11-30 13:58:16 | 显示全部楼层
没错吧,小白个人理解是震荡一次(I2C工作时钟震荡)才工作一次,传输一个数据,而不是你想的那种,高电平传输1,低电平传输0。因为按你的理解,如果要传输111111……岂不是一路高电平还何来震荡。。。。。。小白认为时钟的震荡高低电平变化是和数据线传输的高低电平表示1、0不能一样理解。我觉得是这样的,我也是菜鸟,不能接受就求其他真正大神指教吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-1 10:56:51 | 显示全部楼层
Guosam 发表于 2014-11-30 13:58
没错吧,小白个人理解是震荡一次(I2C工作时钟震荡)才工作一次,传输一个数据,而不是你想的那种,高电平 ...

那你的意思是,I2C的传输速率并不是数据线上每秒传输的bit数,而是时钟线的震荡频率???
回复 支持 反对

使用道具 举报

发表于 2014-12-1 11:05:35 | 显示全部楼层
inkfishg 发表于 2014-12-1 10:56
那你的意思是,I2C的传输速率并不是数据线上每秒传输的bit数,而是时钟线的震荡频率???

IIC的传输速率由“时钟线上(SCL)的时钟频率”决定。

特征:
       串行的8位双向数据传输位速率再标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s。不过STM32应该不支持高速模式,所以最大是快速模式。

小白觉得是震荡一次就是传输一个bit,所以每秒传输bit数和时钟线振荡频率应该是相等的啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-1 11:12:00 | 显示全部楼层
Guosam 发表于 2014-12-1 11:05
IIC的传输速率由“时钟线上(SCL)的时钟频率”决定。

特征:

哦哦,懂了,你的意思是数据线上的1bit/s=时钟线上的1Hz,并不是我之前理解的都是数据线上的,谢谢亲了~~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-28 15:10 , Processed in 0.043058 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表