实验名称
基于SPI Flash的断电状态保存系统
实验目的
-
掌握SPI Flash的基本读写操作
-
实现设备状态断电保存功能
-
学习STM32 HAL库的SPI驱动开发
硬件要求
-
STM32开发板
-
按键
-
SPI Flash模块
-
杜邦线若干
-
面包板
硬件连接
| 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)
-
SPI配置
- 选择SPI1

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

- 其他参数设置

-
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

最低0.47元/天 解锁文章
1306

被折叠的 条评论
为什么被折叠?



