1. iic总线不是全双工,2根线SCL和SDA。spi总线实现全双工,4根线SCK、CS、MOSI、MISO。
  2. iic总线是多主机总线,通过SDA上的地址信息来锁定从设备。spi总线只有一个主设备,主设备通过CS片选来确定从设备。
  3. iic总线传输速到在100kbps-4Mbps。spi总线传输速度更快,可以达到30MHZ以上。
  4. iic总线空闲状态下SDA SCL都是高电平。spi总线空闲状态MOSI MISO也都是SCK是由CPLO决定的。
  5. iic总线scl高电平时sda下降沿标志传输开始,上升沿标志传输结束。spi总线cs拉低标志传输开始,cs拉高标志传输结束。
  6. iic总线是SCL高电平采样。spi总线因为是全双工,因此是沿采样,具体要根据CPHA决定。一般情况下master device是SCK的上升沿发送,下降沿采集。
  7. iic总线和spi总线数据传输都是MSB在前,LSB在后(串口是LSB在前)。
  8. iic总线和spi总线时钟都是由主设备产生,并且只在数据传输时发出时钟。
  9. iic总线读写时序比较固定统一,设备驱动编写方便。spi总线不同从设备读写时序差别比较。大,因此必须根据具体的设备datasheet来实现读写,相对复杂一些。

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的异同

    不同 1)工作模式与线的数目 IIC总线不是全双工,高电平采样,2根线SCL SDA. SPI总线实现全双工,边沿采样,4根线SCK CS MOSI MISO,通信简单易理解. 2)速度 SPI的速度 ...

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

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

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

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

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

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

  8. SPI、IIC、UART区别

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

  9. SPI与IIC通信协议

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

  10. linux 添加spi 驱动,Linux下SPI和IIC驱动免在设备树上添加设备信息的编写方法

    编写驱动时,一般需要往设备树上添加节点信息,这里提供一种直接在驱动中添加设备信息的方法. i2c的驱动模板如下 #include #include #define SENSOR_BUS_NUM 0 # ...

最新文章

  1. linux终端密码星星,如何获得您的sudo密码在Ubuntu中显示为星号 | MOS86
  2. python数据分析函数大全_python中数据分析常用函数整理
  3. Idea利用maven打包spring boot项目
  4. getter与setter
  5. Java并发编程-常用的辅助类
  6. leetcode python3 简单题104. Maximum Depth of Binary Tree
  7. 《Pro ASP.NET MVC 3 Framework》学习笔记之十四【示例项目SportsStore】
  8. mac如何使用「磁盘工具」创建dmg 映像文件
  9. Angularjs在初始化未完毕时出现闪烁的解决办法
  10. 目前软件分析设计过程中的主要问题
  11. MySQL与Oracle 差异比较之五存储过程Function
  12. Android音视频三-AndroidStudio整合FFmpeg项目+FFmpeg视频解码
  13. Tanzu 学习系列之TKGm for vSphere 快速部署
  14. 如何将SCH 与DSN 文件转化
  15. [bzoj4556][TJOIHEOI2016]字符串
  16. 计算机网络里面ap是什么,网络ap是什么意思
  17. Finger-一款红队在大量的资产中存活探测与重点攻击系统指纹探测工具
  18. 第十章:动态组件,插槽,自定义指令
  19. jboot-admin 搭建过程
  20. qe和qc的区别在哪里_QC, QE,QA,QO的具体定义是什么,工厂里面个岗位具体职能又是?...

热门文章

  1. UIImagePickerController编辑图片框大小的问题
  2. 游戏化学习:让学习之路成为游戏升级系统。
  3. mui 页面无法下滑拖拽 主要体现在华为手机浏览器
  4. matlab求解微分方程ode23
  5. PTA习题 计算某年某月某日是该年中的第几天
  6. 【原创游戏】迷踪失路——恐怖风格的第一人称迷宫游戏
  7. linux小记 查看dd进度,linux小记:查看dd进度
  8. layui layer btn
  9. Java并发框架——AQS阻塞队列管理(三)——CLH锁改造
  10. The fundamentals of millimeter wave radar sensors——毫米波雷达传感器基本原理