[学习笔记]STM32F1硬件SPI读写W25Qx(寄存器、标准库、HAL库)

目录10. 硬件SPI读写W25Qx0. 博主调侃:1. 实验内容及步骤:2. 硬件说明3. 步骤详细讲解 3.1 RCC 3.2 配置GPIO 3.3 硬件SPI配置 3.4 发送和接收过程4. 程序设计(寄存器)5. 程序设计(标准库)6. 程序设计(HAL库)7. 实验结果8. 源码下载10. 硬件SPI读写W25Qx0. 博主调侃: 本实验使用硬件的SPI读写W25Q...
摘要由CSDN通过智能技术生成

 目录

 10. 硬件SPI读写W25Qx

0. 博主调侃:

1. 实验内容及步骤:

2. 硬件说明

3. 步骤详细讲解

       3.1 RCC

       3.2 配置GPIO

       3.3 硬件SPI配置

       3.4 发送和接收过程

4. 程序设计(寄存器)

5. 程序设计(标准库)

6. 程序设计(HAL库)

7. 实验结果

8. 源码下载


 10. 硬件SPI读写W25Qx

0. 博主调侃:

       本实验使用硬件的SPI读写W25Q16JV,通过硬件SPI可减轻CPU负担。这个W25Qx通常用来存储程序,可在W25Qx内部直接运行程序,无需移动到单片机的内部RAM中,当然用来存储数据也行的。

       这里W25Qx的芯片类型有点多,大体操作都相同,每种类型都有一丢丢区别,建议用哪一块就去找对应的芯片(本人就被坑了一次,啊哈哈哈哈~)。

1. 实验内容及步骤:

       1. 配置GPIO,MOSI(复用推挽输出)、MISO(浮空输入)、CS(推挽输出)、SCK(复用输出);

       2. 软件SPI读写Byte(模式0或模式3);

       3. 读取W25Q16的制造商ID和设备ID;

       4. 通过标准SPI对W25Q16擦除-写入-读取;

2. 硬件说明

       CS   ->   PB12

       CLK ->   PB13

       MISO     ->   PB14

       MOSI     ->   PB15

       根据STM32数据中文参考手册可知,PB12-PB15可复用为SPI2

3. 步骤详细讲解

       3.1 RCC

       根据STM32中文参考手册,可知SPI2挂在在APB1(36MHz)。

       3.2 配置GPIO

       硬件SPI的GPIO配置如下图所示。

       SPIx_SCK ->  推挽复用输出

       SPIx_MOSI -> 推挽复用输出

       SPIx_MISO -> 浮空输入或带上拉输入

       SPIx_NSS ->  推挽复用输出

       3.3 硬件SPI配置

       主要配置思路:

       配置SPI2为主SPI模式,全双工通讯。根据STM32F10x中文(P462)可知配置思路如下:

       配置步骤1:串行时钟波特率

       已知SPI2时钟接在APB1上,时钟为(36MHz)

       这里我们配置为9M,即8分频36M/8=4.5M

       SPI2_CR1 &= ~((u32)0x07<<3);        //清空配置

       SPI2_CR1 |= (u32)0x02<<3;              //8<

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值