pgm_read_byte 8bit nach 32 bit

#3516970
Lesenswert?

Original U.Radig /8bit:
1
char b;
2
b = pgm_read_byte(http_entry[index].new_page_pointer++);

meine Änderung /32bit:
1
char pgm_read_bytex(uint8_t *x){
2
return *x;
3
}
4

5
...
6
unsigned char b[5];
7
http_entry[1].new_page_pointer=Page1;
8
b[0] = pgm_read_bytex(http_entry[1].new_page_pointer++);
9
b[1] = pgm_read_bytex(http_entry[1].new_page_pointer++);
10
b[2] = pgm_read_bytex(http_entry[1].new_page_pointer++);
11
b[3] = pgm_read_bytex(http_entry[1].new_page_pointer++);
12
b[4] = '\0';
13
lgw(10,1,b);

Der code funktioniert, es kommt aber sowohl bem Original wie bei der 
Änderung die Warnung "makes pointer from integer without a cast". Wieso 
die Warnung und wie bekomme ich sie weg?
#3517086
Lesenswert?

Glückwunsch zu Deinem Gedächtnis:
1
  struct   http_table
2
  {
3
//    PGM_P old_page_pointer          ;
4
//    PGM_P new_page_pointer          ;
5
    uint32_t old_page_pointer        ;
6
    uint32_t new_page_pointer        ;
7
    unsigned char *auth_ptr         ;
8
...

So macht das Sinn, bei progmem wird mit dem Integer das Feld eines 
arrays bezeichnet, nicht eine Adresse.

Ich muss also die Structur ändern, weil ich bei arm eine Speicheradresse 
brauche.

Danke

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren