Help with PROGMEM
i working on program , trying use progmem. noticed not getting results expected decided start basic code shown on site , have same issue. here sample code site. expect 65000 sent serial not case. missing here?
code: [select]
#include <pgmspace.h>
//#include <avr/pgmspace.h>
// setup routine runs once when press reset:
void setup() {
serial.begin(9600);
}
// loop routine runs on , on again forever:
void loop() {
// save unsigned ints
progmem prog_uint16_t charset[] = { 65000, 32796, 16843, 10, 11234};
// save chars
prog_uchar signmessage[] progmem = {"i predator, unseen combatant. created united states depart"};
unsigned int displayint;
int k = 0; // counter variable
char mychar;
// read 2-byte int
displayint = pgm_read_word_near(charset + k);
// read char
mychar = pgm_read_byte_near(signmessage + k);
serial.println(displayint);
delay(1000);
}
here:
progmem variables cannot on stack (in other words cannot auto variables). move declaration , works:
code: [select]
void loop() {
// save unsigned ints
progmem prog_uint16_t charset[] = { 65000, 32796, 16843, 10, 11234};
progmem variables cannot on stack (in other words cannot auto variables). move declaration , works:
code: [select]
// save unsigned ints
progmem prog_uint16_t charset[] = { 65000, 32796, 16843, 10, 11234};
void loop() {
Arduino Forum > Using Arduino > Programming Questions > Help with PROGMEM
arduino
Comments
Post a Comment