STM32 SPI Flash读写实验手册

实验名称

基于SPI Flash的断电状态保存系统


实验目的

  1. 掌握SPI Flash的基本读写操作

  2. 实现设备状态断电保存功能

  3. 学习STM32 HAL库的SPI驱动开发


硬件要求

  1. STM32开发板

  2. 按键

  3. SPI Flash模块

  4. 杜邦线若干

  5. 面包板


硬件连接

SPI Flash引脚 STM32引脚
CLK SPI_SCK (PA5)
DI SPI_MISO (PA7)
DO SPI_MOSI (PA6)
CS NSS(PA4)
VCC 3.3V
GND GND

按键连接:

  • 按键一端接PA0,另一端接GND(上拉模式)


软件配置(STM32CubeMX)

  1. SPI配置

  • 选择SPI1

  • Mode: Full-Duplex Master
  • Hardware NSS: Disabled

  • 其他参数设置

  1. GPIO配置

  • CS引脚:PA4,输出推挽模式,初始高电平

  • 用户按键:PA0,输入模式,上拉

  • 板载LED:PC13,输出开漏模式

  • 时钟配置

    系统时钟设置为系统配置的8分(因实验硬件限制)

按钮及其灯亮代码实现

uint8_t pre = 1;//按钮按下的前标志
uint8_t cur = 1;//按钮按下的后标志
uint8_t ledState = 0;//板载LED的状态标志

//读取flsh数据并进行判断,函数实现在fish读数据实现
ledState = LoadledState();
	
	if(ledState == 1){
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);
	}else{
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);
	}


  whi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值