当前位置:首页 > 编程技术 > 正文

数据如何保存到flash lpc1754

数据如何保存到flash lpc1754

将数据保存到基于NXP LPC1754微控制器的Flash存储器中,通常涉及以下步骤: 1. 硬件准备确保你的LPC1754微控制器已经正确配置,并且你的开发环境(如K...

将数据保存到基于NXP LPC1754微控制器的Flash存储器中,通常涉及以下步骤:

1. 硬件准备

确保你的LPC1754微控制器已经正确配置,并且你的开发环境(如Keil uVision)已经安装并配置了相应的硬件支持包。

2. 硬件特性了解

LPC1754的Flash存储器通常具有以下特性:

可编程的存储空间。

需要特定的命令序列来擦除和写入。

3. 开发环境配置

在Keil uVision中,你需要确保你的项目设置正确,包括:

选择正确的芯片型号。

设置正确的时钟频率。

选择正确的Flash配置。

4. 编写代码

以下是一个简单的示例,展示了如何在LPC1754上写入和读取Flash:

写入Flash

```c

include "LPC17xx.h"

void FlashProgramWord(uint32_t FlashAddress, uint32_t Data) {

// 确保Flash地址是4字节对齐的

FlashAddress &= ~0x3;

// 禁用Flash访问

LPC_SC->PCONP = (1 << 6);

// 等待Flash准备好

while (!(LPC_FMC->FMSTAT & (1 << 0)));

// 清除写保护

LPC_FMC->FWPKEY = 0x5A5A5AUL;

LPC_FMC->FWPKEY = 0xA5A5A5UL;

// 禁用写保护

LPC_FMC->FWPEN = 0x1;

// 等待写保护被清除

while (LPC_FMC->FWPEN);

// 禁用中断

__disable_irq();

// 写入数据

LPC_FMC->FPROT = 0x0; // 设置保护位为0,表示整个Flash

LPC_FMC->FWADD = FlashAddress; // 设置Flash地址

LPC_FMC->FWDATA = Data; // 设置要写入的数据

LPC_FMC->FWKEY = 0x5A5A5AUL;

LPC_FMC->FWKEY = 0xA5A5A5UL;

// 等待写入完成

while (!(LPC_FMC->FMSTAT & (1 << 1)));

// 重新启用中断

__enable_irq();

// 重新启用Flash访问

LPC_SC->PCONP &= ~(1 << 6);

最新文章