Closed
Description
when running this code the CPU freezes after writing "word@1" to the serial port.
const PROGMEM unsigned char Config[] = { 0,1,2,3,4,5,6,7,8};
const unsigned char* ptr;
void setup() {
Serial.begin(115200);
}
void loop() {
delay(2500);
ptr = &Config[0];
Serial.print("word@0:");
Serial.println(pgm_read_word(ptr));
ptr = &Config[1];
Serial.print("word@1:");
Serial.println(pgm_read_word(ptr));
}
when changing
#define pgm_read_word(addr) (*(const unsigned short *)(addr))
to
#define pgm_read_word(addr) (pgm_read_byte(addr)+(pgm_read_byte(addr+1)<<8))
program works fine.
Maybe this is also an issue with
#define pgm_read_dword(addr)
#define pgm_read_float(addr)
#define pgm_read_ptr(addr)
Metadata
Metadata
Assignees
Labels
No labels