当前位置: 首页 > news >正文

stm32 SPI学习

串行外设接口(SPI) 允许芯片与外部设备以半/全双工、同步、串行方式通信。此接口可以被配置
成主模式,并为外部从设备提供通信时钟(SCK)。

SPI主要特征:
● 3线全双工同步传输
● 带或不带第三根双向数据线的双线单工同步传输
● 8或16位传输帧格式选择
● 主或从操作
● 支持多主模式
● 8个主模式波特率预分频系数(最大为fPCLK/2)
● 从模式频率 (最大为fPCLK/2)
● 主模式和从模式的快速通信
● 主模式和从模式下均可以由软件或硬件进行NSS管理:主/从操作模式的动态改变
● 可编程的时钟极性和相位
● 可编程的数据顺序, MSB在前或LSB在前
● 可触发中断的专用发送和接收标志
● SPI总线忙状态标志
● 支持可靠通信的硬件CRC
─ 在发送模式下, CRC值可以被作为最后一个字节发送
─ 在全双工模式中对接收到的最后一个字节自动进行CRC校验
● 可触发中断的主模式故障、过载以及CRC错误标志
● 支持DMA功能的1字节发送和接收缓冲器:产生发送和接受请求

SPI框图这里写图片描述
MOSI: master output, slave input 主设备发送,从设备接收 主机的数据从这条
信号线输出,从机由这条信号线读入主机发送的数据,即这条线上数据的方向为主机
到从机。
MISO: master input, slave outout 主设备接收, 从设备发送 主机从这条信号线
读入数据,从机的数据由这条信号线输出到主机,即在这条线上数据的方向为从机
主机。
SCK: 时钟信号线,用于通讯数据同步。它由通讯主机产生,决定了通
讯的速率.
NSS: 从设备选择。这是一个可选的引脚,用来选择主/从设备。有硬件NSS模式和软件NSS模式

相关文章:

  • SPI通信过程以及 STM32的SPI特性构架
  • 通讯的基本概念以及分类
  • STM32通用同步异步收发器(USART)
  • STM32 I2C学习
  • STM32定时器学习---基本定时器
  • C语言小知识(1)
  • C语言小知识(2)
  • STM32 GPIO的几种工作模式
  • STM32高级定时器(1)
  • STM32 高级定时器(2)
  • C语言指针基础
  • 指针与二维数组
  • 单链表的学习
  • 单链表的排序+手机通讯录源码
  • QT模式对话框
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • hadoop集群管理系统搭建规划说明
  • Koa2 之文件上传下载
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • Python实现BT种子转化为磁力链接【实战】
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • Theano - 导数
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 开发基于以太坊智能合约的DApp
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 小程序开发之路(一)
  • 走向全栈之MongoDB的使用
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • #100天计划# 2013年9月29日
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (十一)手动添加用户和文件的特殊权限
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (一一四)第九章编程练习
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .net core 控制台应用程序读取配置文件app.config
  • .NET Core中的去虚
  • .NET 设计一套高性能的弱事件机制
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .net6Api后台+uniapp导出Excel
  • :如何用SQL脚本保存存储过程返回的结果集
  • @Builder用法
  • @JSONField或@JsonProperty注解使用
  • @transaction 提交事务_【读源码】剖析TCCTransaction事务提交实现细节
  • [AI]ChatGPT4 与 ChatGPT3.5 区别有多大
  • [ai笔记3] ai春晚观后感-谈谈ai与艺术
  • [Android] Upload package to device fails #2720
  • [C#]C# winform实现imagecaption图像生成描述图文描述生成
  • [docker] Docker容器服务更新与发现之consul