不同

1)工作模式与线的数目

IIC总线不是全双工,高电平采样,2根线SCL SDA。
SPI总线实现全双工,边沿采样,4根线SCK CS MOSI MISO,通信简单易理解。

2)速度

SPI的速度要远远高于IIC
SPI总线速度为:几MHz - -几十MHz
IIC总线速度为: 0Hz - - 3.4MHz

3)流控方面

SPI缺乏流控机制,无论主器件还是从器件均不对消息进行确认,主器件无法知道从器件是否繁忙。
IIC存在ACK应答信号,所以有流控机制。

4)设备的选择

IIC总线是多主机总线,通过SDA上的地址信息来锁定从设备。
SPI总线只有一个主设备,主设备通过CS片选来确定从设备。

5)驱动编写方面

IIC总线读写时序比较固定统一,设备驱动编写方便。
SPI总线不同从设备读写时序差别比较大,因此必须根据具体的设备datasheet来实现读写,相对复杂一些。

相同点

IIC总线和SPI总线时钟都是由主设备产生,并且只在数据传输时发出时钟。

其他

IIC上拉电阻的作用:让空闲的设备保持在高电平状态,增强抗干扰能力。

SPI与IIC的异同相关推荐

  1. STM32的SPI及IIC

    目录 STM32的SPI及IIC 1.SPI的配置方式 SPI**简介** SPI**特征** SPI**功能描述** SPI通信配置 2.IIC 的配置方式 IIC简介 I2C 初始化结构体详解 I ...

  2. 结合实际代码谈常见串行通讯方式—USART、SPI以及IIC

    按数据传送的方式,通讯可分为串行通讯与并行通讯,串行通讯是指设备之间通过少量数据信号线(一般是8 根以下),地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式,而并行通讯一般是指使用8.16 ...

  3. SPI和IIC通信区别

    一.IIC     IIC 是多主设备的总线,IIC没有物理的芯片选择信号线,没有仲裁逻辑电路,只使用两条信号线-- 'serial data' (SDA) 和 'serial clock' (SCL ...

  4. 单片机通信——spi、iic、uart

    一.uart 通用异步收发器,就是常说的串口通信,常常用在异步通信并且是一种全双工的通信方式,不需要严格的时间限制,两个设备之间连线简单,往往只需要将RX,TX端交叉相连即可.现实中利用面很广,多用于 ...

  5. LIS3DH加速度计使用SPI和IIC方式读取数据(亲测可用)

    最近博主在研究一款低功耗加速度计LIS3DH,该加速度计有两种通信模式,IIC和SPI方式.IIC通信方式搞了一下 就好了,但是SPI方式针扎了两天才做出来,现在和大家分享一下心得. 开发环境:MDK ...

  6. nRF52832 SPI和IIC外设不可同时使用

    [问题]: ._build\rtc_tick.axf: Error: L6200E: Symbol SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler multi ...

  7. SPI、IIC、UART区别

    第一个区别当然是名字:      SPI(Serial Peripheral Interface:串行外设接口);      I2C(INTER IC BUS)      UART(Universal ...

  8. SPI与IIC通信协议

    一.IIC 1.I2C总线简介         I2C(Inter-Integrated Circuit ,内部集成电路)总线是一种由飞利浦Philip公司开发的串行总线.是两条串行的总线,它由一根数 ...

  9. SCCB与IIC的异同及FPGA实现的注意事项

    本文主要参考了两种协议的规范文档和一个摄像头传感器(OV7725)的数据手册,文档链接如下: IIC规范:UM10204 SCCB规范:SCCBSpec_AN OV7725数据手册:OV7725 1. ...

最新文章

  1. 业界丨2018深度学习十大趋势:元学习成新SGD,多数硬件创企将失败
  2. JQuery表单验证插件EasyValidator,超级简单易用!
  3. 4、Orcal数据库dmp文件导入
  4. shell,perl,python
  5. 推荐算法--其他信息(07)
  6. 团队二阶段冲刺个人工作总结2
  7. MS-SQL (sql server)添加数据库只读用户K3DBSQP,并遍历所有数据库添加访问只读访问权限
  8. jdk8下载要先有Oracle账号吗,【转载】linux安装jdk8--附带oracle账号
  9. LoadRunner 11压测时碰到错误Error: missing newline in *:\*****\*.dat
  10. Spring下的@Inject、@Autowired、@Resource注解区别(转)
  11. 谷歌翻译接口_QTranslate:电脑全局翻译神器
  12. #蓝桥杯嵌入式#电路模电基础知识
  13. Magoshare Data Recovery Enterprise(电脑免费数据恢复软件)绿色便携版V4.5.0 | 电脑数据恢复软件免费版下载
  14. 亚马逊成功的四个关键因素
  15. nuc8 macos12升级测试
  16. MATLAB遇到问题:错误使用mex的解决办法
  17. 【Statistics】HYPOTHESIS TEST(SIGNIFICANCE TEST)
  18. freemaker 前端web教程
  19. nmap 安装和使用
  20. 拿下阿里三面是后,面试官问我:你是怎么学习Redis的?

热门文章

  1. clickhouse建表语句行数太多导致报错 Unmatched parentheses: (
  2. Android 内容复制到剪贴板
  3. java调用支付宝扫码支付接口
  4. 32位linux升级64位系统下载地址,使用i386-32位Linux不能升级到amd64位,只能全新安装Linux-amd64版...
  5. 淘宝订单同步方案 - 丢单终结者
  6. 30个不可不知的容器技术工具和资源
  7. 从零到万的粉丝:抖音的推荐算法到底是怎样的?
  8. adb install 安装错误常见列表
  9. 分数在c语言程序中怎么输入,如何在c语言中实现分数相加,以分数形式输出,并化为最简...
  10. 计算机与师范数学的联系论文,数学师范生毕业论文