STM32学习-9 串行外设接口SPI

9 SPI

(1)介绍

串行外设接口SPI,是一种同步串行外设接口,允许MCU与外围设备进行全双工同步串行通信。

SPI总线是三线制,采用主从模式架构,支持一个或多个Slave设备,由于设计简单,性能优良,又不牵扯专利问题,被广泛使用。SPI可以配置为支持SPI协议或者支持IIS音频协议。SPI默认工作在SPI模式,可以软件切换为IIS模式,在小容量和中容量设备上,不支持IIS音频协议。

IIS音频协议也是一种3引脚的同步串行接口通信协议,它支持四种音频标准,包括飞利浦IIS协议,MSB和LSB对齐标准,以及PCM标准。

(2)SPI的组成

SPI只需要四根线:

1.SCk(串行时钟线):作为主设备的输出,从设备的输入

2.MISO(主机/从机输出数据线):该引脚在从模式下发送数据,在主模式下接收数据。

3.MOSI(主机输出/从机输入数据线):该引脚在主模式下发送数据,在从模式下接收数据。

4.NSS(低电平有效的从机选择线):它是一个可选的引脚,用来选择主/从设备。

在这里插入图片描述

(3)库函数

SPI_Init

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(4)示例

#include "spi.h"
//以下是 SPI 模块的初始化代码,配置成主机模式,访问 SD Card/W25Q128/NRF24L01
//SPI 口初始化
//这里针是对 SPI2 的初始化
void SPI2_Init(void)
{
   
   
GPIO_InitTypeDef GPIO_InitStructure;
 SPI_InitTypeDef SPI_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE );//PORTB 时钟使能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值