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中。PROGMEM
是pgmspace.h
库的一部分。它自动包含在IDE的新版版本中。如果你使用的IDE版本低于1.0(2011),程序代码的的顶部需要添加包含引入这个头文件库,像这样:#include <avr/pgmspace.h>
- 虽然
promem
可以用于单个变量,但只有在需要存储更大的数据块的情况下才值得这样做,这通常是最简单的数组(或其他c++数据结构)。 - 使用
promem
也是分两个步骤过程。在将数据存入闪存之后,它需要特殊的方法(函数),也定义在pgmspace.h
库中,从程序内存中读取数据到SRAM中,
以上是关于Arduino PROGMEM静态存储区的使用介绍的主要内容,如果未能解决你的问题,请参考以下文章
将字符串转换为 Const Char XYZ[] PROGMEM