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:

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

Popular posts from this blog

Convierte tu Raspberry en un NAS. Firmware fvdw-sl 15.3 - Raspberry Pi Forums

How to format a Get Request

avrdude: verification error, first mismatch at byte 0x0000 0x0c != 0x62