SPI通信

SPI即串行外围设备接口,是全双工的通信总线,有四根线

M:主设备 S:从设备 I:输入 O:输出

MISO:主设备数据输入,从设备数据输出

MOSI:主设备数据输出,从设备数据输入

SCLK:时钟信号,由主设备产生

CS:从设备片选信号,由主设备控制

工作原理:

1)主机和丛集都有一个串行移位寄存器,主机通过他的SPI串行寄存器写入一个字节发起一次传输。

2)串行移位寄存器通过MOSI信号线将字节传送给从机,从机也将自己的串行移位寄存器中的内容通过MISO信号线返回给主机,这样,两个移位寄存器的内容就被交换。

3)外设的写操作和读操作是同步完成的。如果只进行写操作,主机只需忽略接收到的字节;反之,如主机要读取从机的一个字节,就必须发送一个空字节来引发从机的传输。

状态标志:

TXE(发送缓冲器空闲标志):

  TXE=1表明发送缓冲器为空,可以写下一个待发送的数据进入缓冲器中,当写入SPI_DR时,TXE标志被清零。

RXNE(接收缓冲器非空):

  RXNE=1表明在接收缓冲器中包含有效的接收数据。读SPI数据寄存器可以清楚此标志。

BUSY(忙标志):

  busy标志由硬件设置与清楚(写入此位无效果)

程序配置过程:(来源于战舰STM32F1库函数版本)

1) 配置相关引脚的复用功能,使能 SPI2 时钟
我们要用 SPI2,第一步就要使能 SPI2 的时钟。其次要设置 SPI2 的相关引脚为复用输出,
这样才会连接到 SPI2 上否则这些 IO 口还是默认的状态,也就是标准输入输出口。这里我们使
用的是 PB13、 14、 15 这 3 个(SCK.、 MISO、 MOSI&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值