Arduino利用PROGMEM将数据写到闪存

您所在的位置:网站首页 ESP8266程序保存在闪存里面吗 Arduino利用PROGMEM将数据写到闪存

Arduino利用PROGMEM将数据写到闪存

2024-07-14 01:05| 来源: 网络整理| 查看: 265

在Arduino中,可以使用PROGMEM关键字将数据存储到程序存储器(闪存)中,而不是存储在RAM中。这对于保存大量的常量数据,如文本、图像、音频等非易失性数据非常有用。以下是一个示例,演示如何使用PROGMEM将数据写入闪存:

#include  // 声明一个存储在闪存中的字符串 const char myString[] PROGMEM = "Hello, World!"; void setup() {   // 初始化串口通信   Serial.begin(9600); } void loop() {   // 从闪存中读取字符串并通过串口发送   char buffer[20];   strcpy_P(buffer, (char*)pgm_read_word(&myString));   Serial.println(buffer);   delay(1000); }

在这个示例中,首先使用PROGMEM关键字将字符串存储到程序存储器中。然后,在loop函数中使用pgm_read_word来从闪存中读取字符串,并使用Serial.println将其发送到串口以进行输出。

请注意以下几点:

使用PROGMEM存储的数据不能直接使用标准函数(如strcpy)处理,需要使用特定的pgm_read_xxx函数来从闪存中读取数据。pgm_read_word用于读取16位数据。

由于闪存读取是比较耗时的操作,因此要确保代码不会频繁读取闪存中的数据,以免影响性能。

需要包含头文件来使用PROGMEM相关函数。

这只是一个简单的示例,可以根据需要将更多数据存储到闪存中,并使用PROGMEM来访问它们。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3