stm32_spi

本文介绍了SPI(SerialPeripheralInterface)协议,包括其基本时序、硬件电路连接方式以及在读写外设中的应用。SPI是全双工同步串行接口,支持一主多从配置。在使用SPI的Flash存储器如W25q64时,需要注意写入前的写使能、擦除操作、页编程限制等事项。同时,文章还提到了软件SPI的实现,包括数据交换、初始化和相关操作函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习目标:

软件spi读写外设

硬件spi读写外设


学习内容:

1.SPI(Serial Peripheral Interface)

2.是由Motorola公司开发的一种通用数据总线 四根通信线:SCK(Serial Clock)、MOSI(Master Output Slave Input)、MISO(Master Input Slave Output)、SS(Slave Select)

3.同步,全双工

4.支持总线挂载多设备(一主多从)

硬件电路

所有SPI设备的SCK、MOSI、MISO分别连在一起

主机另外引出多条SS控制线,分别接到各从机的SS引脚

输出引脚配置为推挽输出,输入引脚配置为浮空或上拉输入

 移位示意图

 向左移位:本质是交换字节

spi的基本时序

 
数据移出提前半个时机;

模式1

 

 发送指令

向SS指定的设备,发送指令(0x06)

 

flas操作注意事项

1.写入操作时: 写入操作前,必须先进行写使能

2.每个数据位只能由1改写为0,不能由0改写为1

3.写入数据前必须先擦除,擦除后,所有数据位变为1

4.擦除必须按最小擦除单元进行

5。

连续写入多字节时,最多写入一页的数据(256个字节),超过页尾位置的数据,会回到页首覆盖写入

6.写入操作结束后,芯片进入忙状态,不响应新的读写操作

7.读取操作时: 直接调用读取时序,无需使能,无需额外操作,没有页的限制,读取操作结束后不会进入忙状态,但不能在忙状态时读取

软件spi:

1.交换数据

 

 2.初始化

 3.其他

 对于W25q64的操作

写使能

等待函数

 页编程函数

 

扇区擦除函数

读函数

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值