Skip to main content
Search type Search syntax
Tags [tag]
Exact "words here"
Author user:1234
user:me (yours)
Score score:3 (3+)
score:0 (none)
Answers answers:3 (3+)
answers:0 (none)
isaccepted:yes
hasaccepted:no
inquestion:1234
Views views:250
Code code:"if (foo != bar)"
Sections title:apples
body:"apples oranges"
URL url:"*.example.com"
Saves in:saves
Status closed:yes
duplicate:no
migrated:no
wiki:no
Types is:question
is:answer
Exclude -[tag]
-apples
For more details on advanced search visit our help page
Results tagged with
Search options answers only not deleted user 4143

PROGMEM is a keyword used when declaring a variable that keeps the data in flash instead of copying it into SRAM. It is part of the `pgmspace.h` library. Use this tag for discussions about using this attribute.

3 votes
Accepted

How is a 41KB char array filling up 256KB of program memory?

The limitation here is the data type of the index of the array. That is int, and on an 8-bit system an int can hold a value in the range -32768 to 32767. That means the biggest index number an array …
Majenko's user avatar
  • 106k
4 votes
Accepted

Read nested array item from PROGMEM

The library, as it stands, doesn't support direct sending from PROGMEM. However it's not too hard to get around that - if your C++ is up to it. … You just need to do the same thing to create a new class that implements the functions in a way that can read from PROGMEM. …
Majenko's user avatar
  • 106k
1 vote

i am working on a project smart watch i am getting this error please help

PROGMEM is in the wrong loctaion. … const dataType variableName[] PROGMEM = {}; // use this form const PROGMEM dataType variableName[] = {}; // or this form const dataType PROGMEM variableName[] = {}; // not this one And I will …
Majenko's user avatar
  • 106k
2 votes
Accepted

How do I upload sketch (and parameters) through a user interface

I guess that is the time to write to PROGMEM: if there is a running sketch I cannot do it, am I right? When you upload a new sketch you are writing to PROGMEM. … Yes, there are ways you can write pages of data to PROGMEM, and that's exactly what the bootloader does when you upload a sketch, but manipulating individual variables in PROGMEM is not possible without …
Majenko's user avatar
  • 106k
0 votes
Accepted

ESP8266 compilation error: "previous declaration of 'HTTPMethod HTTP_HEAD'"

You need a newer version of the WiFiManager.h library. This issue was fixed August last year.
Majenko's user avatar
  • 106k
2 votes
Accepted

How to create large progmem arrays and not annoy the linker

For example, in the header file you would declare your constant: extern const char foo[] PROGMEM; And in your source file define the constant: #include "foo.h" const char foo[] PROGMEM = {0xDE,0xAD …
Majenko's user avatar
  • 106k
2 votes
Accepted

Use of progmem in ESP8266 vs AVR and also how to handle large dynamic strings

Anything that you don't specify as PROGMEM will get copied into dram0. Note that you don't get all 80kB of the RAM to play with since the SDK uses a portion of it. … So to summarise: Not using PROGMEM gives you fast access to your string data at the cost of RAM, and limits the size of the data you can use. …
Majenko's user avatar
  • 106k
2 votes

PROGMEM on Arduino Due (ARM Cortex M3)

There is no PROGMEM required on ARM. There is no memory bus separation between Flash and RAM, so it doesn't copy constants from flash to RAM which PROGMEM is used to prevent. …
Majenko's user avatar
  • 106k
3 votes

Inherent delay running EEPROM.read()

I think PROGMEM plays a role here and I'm looking at examples oh how other sketched employ PROGMEM to better understand how to use it. No, it doesn't. … PROGMEM is for storing strings and other data within your sketch. It has nothing at all to do with EEPROM. …
Majenko's user avatar
  • 106k