| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> Stm32之SPI笔记(2021-08-07) -> 正文阅读 |
|
[嵌入式]Stm32之SPI笔记(2021-08-07) |
Stm32之SPI笔记1.32的SPI简介:1)SPI简介:
注意:在SPI通讯时,作为主机的NSS线,必须一直保持高电平状态,原因见下 NSS分析
2)32的SPI:Stm32的SPI具有以下的特点:
2.相关寄存器简介:1)控制寄存器(2个):
2)状态寄存器:SPI_SR:只有低8位有效,是对应,总线忙[7],模式错误[5],CRC错误[4],发送缓冲区空[1],接收缓冲区非空[0]等的1标志位。 3)数据寄存器:SPI_DR:共16位,读写的数据时均是对这个寄存器进行操作,但内部对应着读写两个缓冲区,在数据帧选择8位时,高8位将会被强制为0; 4)与CRC相关的寄存器(3个):
5)与I2S相关的寄存器:
3.有关NSS分析
可以看出作为主机时使用3??比较方便*(而且因为对外是使用任意IO模拟CS,可连接多个设备)*,而作为从机时,使用4??比较方便。 需要注意作为使用硬件NSS时,可能需要反复开关SPI的操作。
从模式
SSM=0
SSM==1
被选中时拉低为0
SSM==0
SSM==1时
软件通过SSI拉低内部做为CS的NSS
图中实线表示SSM=0时,虚线表示SSM=1时
从模式
外部NSS
从模式内部NSS引脚相当CS
内部NSS
SSM
SSI
可做普通IO
主模式
SSM==1
SSM==1
SSM==1
SSM==0
SSM==0
通过外部NSS线拉低
图中实线表示SSM=0时,虚线表示SSM=1时
主模式时,需要保持作为主机的内部SPI的NSS为高,拉低从机SPI的CS
外部从机的CS
SSI
SSM
内部NSS
另一个外部IO口将CS拉低
可做普通IO使用
外部NSS
SSOE为1,即外部NSS可作为CS输出
SSOE决定外部的NSS输出状态使能
SSOE为0,外部NSS必须保持高,以维持内部NSS的高电平,同样需要另一个IO拉低CS
4.库函数使用:Stm32中SPI的库函数使用与串口一样简单,步骤如下:
5.Flash W25Qxx介绍:1)简介:
? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 20:48:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |