-         

Ergebnis 1 bis 3 von 3

Thema: PROGMEM array auslesen geht nicht

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.10.2006
    Ort
    Detmold
    Alter
    26
    Beiträge
    106

    PROGMEM array auslesen geht nicht

    Anzeige

    hallo

    ich hab nen zweidimensionales array

    unsigned char shifted[68][2]= {

    (tastatur scancodes)
    wenn ich das array so lasse kommen die richtigen werte am pc an

    while(kbcode!=unshifted[c][0]&&unshifted[c][0]!=0) c++;
    uart_putc(unshifted[c][1]);
    uart_putc(shifted[c][1]);

    wenn ich das attribut PROGMEM hinzufüge, um RAM speicher einzusparen

    unsigned char shifted[68][2] PROGMEM= {

    kommt plötzlich nur noch blödsinn raus.
    woran liegt das ??? danke schonmal

    mfg maddin

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    26
    Beiträge
    522
    Wie liest Du denn den Flash aus? Mit shifted[x][y] geht das nit. Da musst Du pgm_read_byte(adresse) benutzen, sonst greifst Du auf den RAM zu. Wie GCC das Array im Flash ordnet, musst Du selber rausfinden. Ich glaub in deinem Fall würde es shifted[0][0], shifted[1][0], shifted[2][0]... shifted [0][1], shifted[1][1] usw sein.

    MfG Mark

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.10.2006
    Ort
    Detmold
    Alter
    26
    Beiträge
    106
    ok danke. wie finde ich denn raus, welche adresse im flash zB shifted[0][0] hat ?

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •