Skip to main content
Arduino

Timeline for Serial printing from flash memory (F() macro, PROGMEM, sprintf_P, SPTR)

Current License: CC BY-SA 4.0

16 events
when toggle format what by license comment
S Sep 16, 2023 at 20:37 history suggested Peter Mortensen CC BY-SA 4.0
Copy edited (e.g. ref. <https://en.wikipedia.org/wiki/Flash_memory> and <https://docs.arduino.cc/hardware/uno-rev3>). Word order. Used more standard formatting (as a result, the diff looks more extensive than it really is - use view "Side-by-side Markdown" to compare).
Sep 16, 2023 at 18:51 review Suggested edits
S Sep 16, 2023 at 20:37
Feb 22, 2021 at 4:05 history bumped Community Bot This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
Oct 25, 2020 at 3:03 history bumped Community Bot This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
Jun 27, 2020 at 2:00 history bumped Community Bot This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
May 27, 2020 at 9:43 answer added hcheung timeline score: 7
May 26, 2020 at 10:32 history edited NickG CC BY-SA 4.0
added 233 characters in body
May 26, 2020 at 10:27 comment added NickG @EdgarBonet your suggestion really seems to have an impact. I changed "test" to "testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttest". However the results seem to be even weirder, as all different methods (including the simple Serial.print) report a free RAM of 2299. Let me also point out that this is the freeRam I get when I only call the freeMemory() in my code.
May 26, 2020 at 10:27 answer added Majenko timeline score: 3
May 26, 2020 at 10:19 comment added NickG Will try immediately, and report back with the results. @MichelKeijzers Strangely enough, I am using an UNO. Any ideas?
May 26, 2020 at 10:18 comment added Edgar Bonet I suggest you try with a message much longer than "test". There are many details in the compiler optimization process that can make small variations in the memory consumption. Those can make your measurements hard to interpret with such a small string.
May 26, 2020 at 10:17 comment added Majenko All those routines use 100 bytes on the stack and nothing else, except maybe transient space within the functions you call which is also on the stack. None of that is relevant to storing data in and reading data from flash. All the things you ask about are macros. You can find what they expand to in the source code of either the core or the compiler.
May 26, 2020 at 10:13 history edited NickG CC BY-SA 4.0
added 229 characters in body; edited tags
May 26, 2020 at 10:04 history edited NickG CC BY-SA 4.0
added 229 characters in body; edited tags
May 26, 2020 at 10:01 comment added Michel Keijzers Nice report, but I miss a question; I guess you don't use a Uno as that model has 2 KB only.
May 26, 2020 at 10:00 history asked NickG CC BY-SA 4.0
toggle format

AltStyle によって変換されたページ (->オリジナル) /