SPI总线为最常用总线,但是不同厂家的SPI芯片或者不同的硬件电路,对于SPI的参数:

(1)SPI的时钟频率设置,一般设置范围几K到几M不等,该频率决定SPI的时钟线和数据线的速率。

(2)SPI时钟极性

(3)SPI时钟相位(边沿)

(4)数据宽度,一般选择8位或者16位

(5)位序,传输过程中是高位在前,还是低位在前,即MSB还是LSB

可能存在差异。一般情况下我们的驱动代码都是先  初始化配置,再操作SPI总线,而且初始化一般都是在上电的时候初始化一遍,当我们系统的1路SPI存在多个从站的时候,当这多个从站中有2个存在配置参数差异的时候,就不能将多个从站初始化放在1个地方初始化(比如上电),这样初始化配置的效果就是以最后执行的初始化SPI为准,就可能导致其他的SPI从站无法工作。该问题的解决办法就是: 将初始化操作代码 放在 SPI操作前进行,每次SPI有读写数据操作前,都先初始化配置成自己需要的参数,再进行操作,遵循"先配置,再操作"方法来解决这一问题。 当然如果1路SPI下挂载设备都使用同样参数最好,那么初始化只需要在上电的时候配置一次,之后就不用配置了,减小每次读写访问前初始化占用的时间。

SPI总线之“ 一主多从 “注意事项相关推荐

  1. I2C和SPI总线优缺点对比

    IIC vs SPI现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral Interface)的身影 ...

  2. I2C与SPI总线对比

    最近2周一直在调试IIC和SPI总线设备,这里记录一下2种总线,以备后忘. 一 IIC总线 I2C--INTER-IC串行总线的缩写,是PHILIPS公司推出的芯片间串行传输总线.它以1根串行数据线( ...

  3. SPI总线(一):基本原理篇

    相关文章: SPI总线(二):驱动分析篇 SPI总线(三):驱动实例 1.什么是SPI? SPI是串行外设接口(Serial Peripheral Interface)的缩写.是 Motorola 公 ...

  4. Linux SPI总线设备驱动模型详解

    随着技术不断进步,系统的拓扑结构越来越复杂,对热插拔.跨平台移植性的要求越来越高,早期的内核难以满足这些要求,从linux2.6内核开始,引入了总线设备驱动模型.其实在linux2.4总线的概念就已经 ...

  5. Linux SPI总线和设备驱动架构之一:系统概述

    SPI是"Serial Peripheral Interface" 的缩写,是一种四线制的同步串行通信接口,用来连接微控制器.传感器.存储设备,SPI设备分为主设备和从设备两种,用 ...

  6. 干货总结:SPI总线详细要点

    [导读] 前面总结了UART/I2C的技术要点,SPI相对I2C而言,比较简单.本文来总结一下SPI总线个人认为比较重要的一些技术要点. 什么是SPI? SPI(Serial Peripheral I ...

  7. 关于I2C和SPI总线协议

    IICvs SPI 现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral Interface)的身影 ...

  8. linux 驱动入门 魏清,Linux下的SPI总线驱动(三)

    版权所有,转载请说明转自 原创作者:南京邮电大学  通信与信息系统专业 研二 魏清 五.SPI测试代码 对于SPI总线驱动,我们可以分为SPI控制设备驱动和SPI接口设备驱动.而作为驱动开发人员主要是 ...

  9. linux内核spi总线驱动分析,Linux下的SPI总线驱动(三)

    版权所有,转载请说明转自 原创作者:南京邮电大学  通信与信息系统专业 研二 魏清 五.SPI测试代码 对于SPI总线驱动,我们可以分为SPI控制设备驱动和SPI接口设备驱动.而作为驱动开发人员主要是 ...

最新文章

  1. python 打包图标_Python打包成exe文件很难?一分钟即可学会,并添加图标!
  2. php使用curl发送请求时 添加header失效
  3. Mac 登陆Linux云服务器方法
  4. 吴恩达机器学习练习3:Logistic regression(Feedforward propagation neural networks)
  5. java 导出文件上传模板,上传Excel文件批量导入数据
  6. java拆装箱(转)
  7. QQ输入法 for iPhone2.3
  8. [玩转UE4/UE5动画系统>技能系统(GAS)篇] 二 技能 Gameplay Ability(GA)
  9. 最完整的PS快捷键大全(绝对经典)
  10. D - Oil Deposits
  11. 临时增大 tmp 空间
  12. 车辆ECU需要更新软件
  13. Linux 使用ffmpeg修改和压缩视频文件格式
  14. label smooth方法论文调研
  15. linux执行sudo报错【/etc/sudo.conf is owned by uid 994, should be 0】
  16. 记录一次公司点星PBX(DotAsterisk) 映射外网后外部SIP分机注册拨通无声音的故障解决方法
  17. 计算机学set,计算机上set是什么意思
  18. 为向南太平洋地区扩张 华为在马来西亚设立地区总部
  19. 安卓手机硬件信息修改 Device ID Changer 2020
  20. STM32学习笔记--DAC

热门文章

  1. 校招+实习 | 旷视研究院职位一览无余!
  2. RTMP、HTTP-FLV、HLS
  3. Qt TCP通信(QTcpSocket)
  4. 学计算机专业能到职业学校当老师吗,做一名优秀职业学校计算机教师十个条件.doc...
  5. C++惨遭吐槽?最难学的编程语言TOP5出炉
  6. pytorch读取VOC数据集
  7. 那些年犯过的c++林泽阳级别的错误
  8. 我的OpenGL的项目配置的过程
  9. 数理化学习杂志数理化学习杂志社数理化学习编辑部2022年底12期目录
  10. MySQL操作(1)创建数据库并插入数据