Arduino PROGMEM静态存储区的使用介绍

Posted perseverance52

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arduino PROGMEM静态存储区的使用介绍相关的知识,希望对你有一定的参考价值。

Arduino PROGMEM静态存储区的使用介绍

关键字PROGMEM

由于程序存储区SRAM 内存是分开的,于是就有了像328P 有 32K 的 FLASH 程序存储区 和 2K 的 SRAM 动态内存,当然还有 ROM,PROGMEM将数据存储在闪存(程序)存储器而不是动态内存SRAM中。

  • promem关键字是一个变量修饰符,它应该只用于pgmspace.h中定义的数据类型。它告诉编译器“将这些信息放入闪存中”,而不是通常的SRAM中。
  • PROGMEMpgmspace.h库的一部分。它自动包含在IDE的新版版本中。如果你使用的IDE版本低于1.0(2011),程序代码的的顶部需要添加包含引入这个头文件库,像这样:#include <avr/pgmspace.h>
  • 虽然promem可以用于单个变量,但只有在需要存储更大的数据块的情况下才值得这样做,这通常是最简单的数组(或其他c++数据结构)。
  • 使用promem也是分两个步骤过程。在将数据存入闪存之后,它需要特殊的方法(函数),也定义在pgmspace.h库中,从程序内存中读取数据到SRAM中,

以上是关于Arduino PROGMEM静态存储区的使用介绍的主要内容,如果未能解决你的问题,请参考以下文章

修改 Arduino 库中的静态变量

将字符串转换为 Const Char XYZ[] PROGMEM

将数据存储在程序存储器(PROGMEM)中并通过usb串行通信发送到puTTY屏幕

Arduino播放midi文件

如何声明存储在PROGMEM中的矩阵

Arduino使用static定义局部静态变量