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

STM32之软件SPI

在这里插入图片描述
SPI传输更快,最大可达80MHz,而I2C最大只有3.4MHz。输入输出是分开的,可以同时输出输入。是同步全双工。仅支持一主多从。SS是从机选择线。每个从机一根。SPI无应答机制的设计。在这里插入图片描述
注意:所有设备需要共地,时钟线主机输出,从机输入。MOSI主机输出,从机输入。MOSO相反。主机的SS线输出,从机输入。SS线低电平有效。主机跟哪个从机通信就把那个从机的SS线置低电平。当从机的SS为高电平,他的MOSI引脚必须切换为高阻态。在这里插入图片描述
注意:移位寄存器都是向左进行移位的。主机提供的波特率发生器时钟的上升沿,移位寄存器向左移一位,移出去的位放到引脚上,波特率发生器时钟的下降沿,引脚上的位采样移动寄存器的最低位。连续移8次就完成了一个数据的移位。在这里插入图片描述
模式一:
在这里插入图片描述模式一:
在这里插入图片描述

模式二:
在这里插入图片描述
在这里插入图片描述
注意每个芯片对SPI时序字节流功能的定义不一样。此处以W25Q64举例:
SPI不同于I2C,是指令码加读写数据的模型。起始条件开始后,发送指令,控制读写功能。具体参考SPI的指令集。指令加上+在哪读+读什么。
此处以写使能举例,SPI模式0:
1.空闲状态下,SS高电平,SCK低电平,MOSI和MOSO的默认电平没有严格规定。
2.SS产生下降沿,时序开始。
3.SCK高电平,数据采样,从机采样输入得到0,主机采样输入得到1,发送完0x60。
4.拉高SS在这里插入图片描述
指令+地址24位(3个字节)+发送内容
1.空闲状态下,SS高电平,SCK低电平,MOSI高电平。
2.SS产生下降沿,时序开始。
3.SCK高电平,数据采样,先发送指令,再发送地址,再发送内容
4.拉高SS和MOSI

在这里插入图片描述
具体步骤参考上面的指定地址写。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/55783.html

相关文章:

  • DeepSeek 医疗大模型微调实战讨论版(第一部分)
  • 一周学会Flask3 Python Web开发-SQLAlchemy连接Mysql数据库
  • 【LLM】从零开始实现 LLaMA3
  • 操作系统 1.5-系统调用的实现
  • STM32之硬件SPI
  • 大语言模型学习--向量数据库
  • 【spring】注解版
  • Python通过SSH隧道访问数据库
  • 操作系统 1.6-操作系统历史
  • 选择排序算法的SIMD优化
  • Redis 内存淘汰策略深度解析
  • 【算法】快速排序的艺术:从理论到C++高效实现
  • 白盒测试(4):电源瞬态电流测试
  • 查询端口是否开放方法总结
  • Java数据结构第十九期:解构排序算法的艺术与科学(一)
  • SpringUI:打造高质量Web交互设计的首选元件库
  • Python ❀ Unix时间戳转日期或日期转时间戳工具分享
  • MC9S12单片机的内存映射机制
  • Android Native 之 文件系统挂载
  • GitCode 助力 vue3-element-admin:开启中后台管理前端开发新征程
  • pytorch图像增强-旋转和平移
  • SAP服务器进程预警通知
  • 使用免费IP数据库离线查询IP归属地
  • C语言中0UL和1UL
  • 记一次联想ThinkBook 16P G5 IRX 系统还原后,进入系统,提示系统还原失败,并且桌面黑屏的只有鼠标指针可以动的问题的解决
  • Vue23Web 基礎性拉滿的面試題(2025版)還沒更新完...
  • 自学嵌入式第29天-----epoll、sqlite3
  • 数据库原理6
  • Flink深入浅出之04:时间、水印、TableSQL
  • 什么是 kafka