是什么让 SPI 比 I2C 协议更快 [关闭]

2024-01-30

我了解 I2C 和 SPI 通信的基础知识。因为两者都是同步协议。我想知道是什么让 SPI 比 I2C 更快。如果我没记错的话,使用 I2C 我们可以使用 400kbps,而在 SPI 中我们也可以达到 10mbps。是因为硬件变化吗? 这个问题是在一次采访中问我的。如果我错了,请纠正我。


有一个重要的硬件差异限制了 I2C 的速度。

SPI:所有线路均由发送器高电平和低电平驱动。这最大限度地减少了线路改变状态所需的时间。

I2C:所有线路都是集电极开路,这意味着发送器仅将线路驱动为低电平。当发射器释放线路时,连接到 Vcc(电源电压)的电阻将灯拉高。然而,由于电线和元件的电容,电线达到高电压的速度相对较慢。因此,必须降低时钟速度,以便为线路“漂移”到高电平留出时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是什么让 SPI 比 I2C 协议更快 [关闭] 的相关文章

  • 如何在C++中生成非常大的随机数

    我想使用 C 生成 0 2 64 范围内的非常大的随机数 我已经使用了 rand 函数 但它没有生成非常大的数字 有人可以帮忙吗 使用c 11 使用标准c 11的随机库 http en cppreference com w cpp nume
  • 我的 std::hash for std::tuples...有什么改进吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有些人可能已经注意到 std hash 不支持元组 所以我添加了一个重载 它看起来比我到目前为止看到的解决方案 更好 有人有进一步减少这段代码的
  • 如何通过覆盖 MSBuild 目标来防止外语资源生成?

    我正在致力于减少大型 C ASP NET 解决方案的编译时间 我们的解决方案使用通常的 resx 文件方法翻译成大约十几种外语 这些资源文件的解析和编译极大地减慢了我们的编译时间 并且是日常的挫败感 我知道可以创建自定义资源提供程序并摆脱
  • Qt/c++ 随机字符串生成[重复]

    这个问题在这里已经有答案了 我正在创建一个应用程序 需要生成多个随机字符串 几乎就像一个由一定长度的 ASCII 字符组成的唯一 ID 这些字符混合有大写 小写 数字字符 有没有 Qt 库可以实现这一点 如果没有 在纯 C 中生成多个随机字
  • 头文件中实现的函数的静态与内联

    我想到的方式inline在 C 中用于链接 作用域 我把它放在同一个篮子里extern and static对于全局对象 通常 对于在头文件中实现的函数 我的首选解决方案是将其设为静态 In Foo h static void foo Do
  • 对 ExecuteNonQuery() 的单次调用是原子的

    对 ExecuteNonQuery 的单次调用是否是原子的 或者如果单个 DbCommand 中有多个 sql 语句 那么使用事务是否有意义 请参阅我的示例以进行说明 using var ts new TransactionScope us
  • C++ 指针和对象实例化

    这有效 MyObject o o new MyObject 而这并不 MyObject o new MyObject Why 关键词new 返回一个指针 http msdn microsoft com en us library kewsb
  • 如何从不同的线程访问控件?

    如何从创建控件的线程以外的线程访问控件 避免跨线程错误 这是我的示例代码 private void Form1 Load object sender EventArgs e Thread t new Thread foo t Start p
  • 无法将参数从 `const char *` 转换为 `char *`

    鉴于此代码 void group build int size std string ips Build the LL after receiving the member list from bootstrap head new memb
  • 原子存储抛出错误

    我最近升级到了 C 11 兼容编译器 并且尝试将一些代码从 boost 更新到 c 11 标准 我在使用atomic store转换一些代码时遇到了问题 这是一些简单的测试代码 似乎会引发编译器错误 int main std shared
  • 如何在 C++ 运行时更改 QML 对象的属性?

    我想在运行时更改 QML 对象的文本 我尝试如下 但文本仍然为空 这是后端类 class BackEnd public QObject Q OBJECT Q PROPERTY QString userFieldText READ userF
  • ASP.net WebForms - 在标记中使用 GetRouteUrl

    我一直在尝试弄清楚如何将路由功能与 ASP net 4 0 WebForms 一起使用 我将一条路线添加到我的路线集合中 void Application Start RegisterRoutes RouteTable Routes voi
  • 从具有相同属性的另一个对象创建对象

    我有一个 C 对象 可以说有 20 个属性 它是数据契约的一部分 我还有另一个具有类似属性的业务实体 我想从响应对象中填充该实体 除了将一个对象的每个属性分配给另一个对象的相应属性之外 还有其他方法可以做到这一点吗 是的 看看自动映射器 h
  • 在 C# 命令行应用程序中包含并执行 EXE

    所以我找到了一个很棒的小 EXE 命令行应用程序 我们将其称为 program exe 它输出一些我想用 C 操作的数据 我想知道是否有一种方法可以将program exe 打包 到我的Visual Studio项目文件中 这样我就可以将编
  • 调试错误:在 vc++ 项目中使用 COM 时发生 所需的运行时?

    我为我的工作创建了一个 COM 组件 我也注册了该组件 在我的系统上 我有两个虚拟机工作站 在我的第一个工作站中 它运行良好 在我的第二个工作站中 它显示一个包含消息的错误框该程序需要一段时间并以不寻常的方式关闭 请联系应用程序管理员 我认
  • 如何重用具有稍微不同的 ProcessStartInfo 实例的 Process 实例?

    我有以下开始的代码robocopy https technet microsoft com en us library cc733145 aspx as a Process 我还需要进行数据库查询以确定每次需要复制哪些目录robocopy被
  • 为什么 C++ 标准没有将 sizeof(bool) 定义为 1?

    Size of char signed char and unsigned char由 C 标准本身定义为 1 个字节 我想知道为什么它没有定义sizeof bool also C 03 标准 5 3 3 1 说 sizeof char s
  • 检查一个数是否是完全平方数?

    我认为以下代码存在精度问题 bool isPerfectSquare long long n long long squareRootN long long sqrt n 0 5 return squareRootN squareRootN
  • 在 C# 中使用自定义千位分隔符

    在显示字符串时 我尝试不使用 字符作为千位分隔符 而是使用空格 我想我需要定义一种自定义文化 但我似乎做得不对 有什么指点吗 例如 将 1000000 显示为 1 000 000 而不是 1 000 000 no String Replac
  • 创建进程默认浏览器

    我目前正在使用 ShellExecute 打开 在用户浏览器中打开 URL 但在 Win7 和 Vista 中遇到了一些麻烦 因为该程序作为服务运行提升 我想获取线程 id 因此 ShellExecute 无法获取线程 id 因此我开始使用

随机推荐

  • 如何在不写入主目录的情况下运行 podman 和 buildah?

    我的主目录中几乎没有剩余磁盘空间 但是 我的目录中有很多磁盘空间 scratch tmp实验 该目录现在是空的 我想尝试一下命令podman and buildah 只是为了实验和学习 实验结束后我想删除该目录 scratch tmp实验
  • 如何在电报机器人中获得身份验证?

    Telegram 机器人现已准备就绪 如果我们使用网络浏览器和网站进行类比 那么电报客户端应用程序就像浏览器客户端 Telegram 聊天室就像网站 假设我们有一些信息 我们只想限制某些用户 在网站上 我们将进行身份验证 我们如何在 Tel
  • Unity3D 构建后加载资源

    我有很多组图像 PNG 它们放置在Resources项目的 Assets 文件夹中 使用编辑器时 我可以毫无问题地从不同的子文件夹加载图像 只需简单地使用Resources Load 命令并提供我尝试加载的特定图像的路径 例如 firstL
  • java中数组的所有可能的组合和子集

    给定一个可变维度的数组 例如 数组 1 2 4 5 我需要一种方法来概括数组的所有可能组合和子集 给定一个包含 n 个元素的数组 我需要拥有所有子集 1 个元素的所有子集 2 个元素的所有子集 n 个元素的所有子集 以及每个子集的所有可能排
  • (C#) 如何修改现有 XML 文件中的属性值而不加载或重写整个文件?

    我正在 XmlWriter 和 Linq2Xml 的帮助下制作一些巨大的 XML 文件 几个 GB 该文件的类型为 table table
  • 使下拉菜单在点击时向下推送内容

    每当用户选择带有下拉菜单的链接时 我都会尝试下推我的内容 但是 当单击时 下拉菜单会覆盖内容而不是将其向下推 我尝试过使用position relatives position absolute等来达到某种期望的结果 但没有这样的运气 我见
  • 双工命名管道在某个写入时挂起

    我有一个 C 管道服务器应用程序和一个 C 管道客户端应用程序通过 Windows 命名管道进行通信 双工 消息模式 在单独的读取线程中等待 阻塞 一切正常 通过管道发送和接收数据 直到我尝试从客户端写入管道以响应表单 textchange
  • 实际上复制/提取苹果的“iPhone X 的连续角”?

    历史性的问题 请注意 现在就这么简单 https stackoverflow com a 59993994 294884 https stackoverflow com a 59993994 294884 iPhoneX 不寻常的底角是 A
  • 如何解码 matplotlib 颜色图中的颜色映射?

    我知道如何将数字映射到这篇文章中的颜色 将值映射到 matplotlib 中的颜色 https stackoverflow com questions 28752727 map values to colors in matplotlib
  • 训练时间最短的人脸检测算法[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 想问是否有任何适合视频的人脸检测方案需要最少的训练时间 理想情况下是几天而不是像 Viola Jones 那样的几周 我读过有关 LB
  • 将值添加到 MassTransit.RabbitMq 中的标头

    我正在使用 MassTransit 3 0 0 0 我很难理解如何在请求 响应场景中拦截消息 并将一些信息添加到我可以在接收器端读取的标头字段 我正在看中间件 http masstransit project com MassTransit
  • Java OCR 库有推荐吗? [复制]

    这个问题在这里已经有答案了 我需要检查大量图片 看看它们是否有关键字 谁能推荐一个好的 可靠的 OCR 库 我很乐意牺牲速度来换取准确性 没有纯 Java OCR 库具有与准确性有关的事情 https stackoverflow com q
  • Microsoft 桌面搜索 - 包含在 Windows Server 2008 上不返回结果

    我正在尝试搜索远程文件共享 运行 Windows Server 2008 R2 对于包含一些文本的文件 如果我尝试这样做 效果很好 SELECT System FileName FROM RemoteServer SystemIndex W
  • 在 TensorFlow 中,有什么方法可以初始化未初始化的变量吗?

    TensorFlow 中初始化变量的标准方法是 init tf initialize all variables sess tf Session sess run init 经过一段时间的学习后 我创建了一组新的变量 但是一旦初始化它们 它
  • window.opener 不对

    我正在打开一个弹出窗口 并希望在其中执行单击操作 从而在打开它的页面中执行一些 jQuery 我在网上找到的所有内容都表明我应该能够使用 window opener 做到这一点 例如JQuery 写入开启器窗口 https stackove
  • jQueryeach() 闭包 - 如何访问外部变量

    从 each 中访问 this rules 变量的最佳方法是什么 任何关于原因 方式的解释也会有帮助 app Style function node this style node this rules var ruleHolder nod
  • 为什么perl配置VC-WIN64A后没有ms\do_ms.bat?

    我正在使用 Visual Studio 2015 编译 OpenSSL 我已经安装了 Windows 10 上的 Visual Studio 2015 ActivePerl 5 24 0 2400 MSWin32 x64 300558 na
  • 如何在不使用非 api 类的情况下取消 Java 中的 Files.copy() ?

    我正在下载一个文件Files copy method Files copy in Paths get targetZipFile StandardCopyOption REPLACE EXISTING 如果下载很慢我想取消它 我在 stac
  • gcov 在当前目录中创建 .gcov 文件。有什么办法可以改变这个吗?

    我在 RHEL 上运行 gcov gcc 4 1 2 当我想为 gcov 文件指定目录时 关于如何做到这一点有什么想法吗 从您想要创建其文件的目录运行 gcov 你必须使用 o参数告诉它在哪里查找 gcno gcda 文件 看gcov 的文
  • 是什么让 SPI 比 I2C 协议更快 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我了解 I2C 和 SPI 通信的基础知识 因为两者都是同步协议 我想知道是什么让 SPI 比 I2C 更快 如果我没记错的话 使用 I2