-         

Ergebnis 1 bis 6 von 6

Thema: C-Pendants zu DATA, RESTORE, READ (Bascom, Flash-Daten)

  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987

    C-Pendants zu DATA, RESTORE, READ (Bascom, Flash-Daten)

    Anzeige

    Moin.

    Mal wieder Umsteigerprobleme von Bascom nach C:
    Ich Suche die für C (AVR Studio) die Gegenstücke, mit denen ich in Bascom Daten im Flash ablegen und bei Bedarf wieder abholen kann.

    Der bisherige Code den ich hab, scheint nicht zu funktionieren (bzw. tuts auch nicht):
    Code:
    flash unsigned char variable[][2] = {
    0x01,32,
    0x02,24,
    0x03,18,
    0x04,99
    }
    In Bascom würde ein Konstrukt etwa so aussehen:
    Code:
    ...
    DO
    ...
    Restore Datalabel1
    Read var1
    Read var2
    ...
    LOOP
    
    DATA Datalabel1:
    DATA 1, 32
    DATA 2, 24
    DATA 3, 18
    DATA 4, 99
    Wenn sich das ganze auch mit Words statt Bytes verarbeiten lässt, wärs noch besser.
    Aber dazu würde ja einfach "flash unsigned ui16_t variable[][2] = ..."
    gehen... wenns denn gehen würde.

    mfG
    #ifndef MfG
    #define MfG

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Also, sowas die "DATA" und einfach der Reihe nach auslesen hat C meines Wissens nicht. Da muss alles als Konstante einen namen haben
    Schau mal, vielleicht hilft es auf die Sprünge
    http://www.roboternetz.de/phpBB2/zei...hlight=progmem
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    34
    Beiträge
    1.780
    Ich selbst habe sowas bisher nicht gemacht, kann dir aber sagen wonach du suchen musst: PROGMEM

    zu dem Thema gibt es sicher irgendwo passende Tutorials.



    edit:
    da war ich wohl zu langsam
    So viele Treppen und so wenig Zeit!

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Also habs jetzt mal versucht, klappt aber nicht so ganz, da der Compiler nen Fehler meldet.

    Ausschnitt aus dem Header:

    Code:
    typedef struct{
      ui16_t s_current;
      ui16_t s_keyfunc;
      ui16_t s_next;
    } stc_menuitem;
    
    const stc_menuitem menuitems[] PROGMEM = 
    {
      { 0x0000, 0x0000, 0x0000},
    
      // To be filled
    
      { 0xFFFF, 0xFFFF, 0xFFFF}
    } 
    
    void UpdateLCD(void);
    void System_Sleep(void);
    void System_WakeUp(void);
    Fehler: Expected ',' or ';' before 'void'
    Bemängelte Zeile: void UpdateLCD(void);
    Irgendwie seh ich das angeblich fehlende Zeichen nicht im direkten Vergleich zwischen meinem und dem aus dem anderen Thread.
    #ifndef MfG
    #define MfG

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    34
    Beiträge
    1.780
    Naja, der Compiler hätte gern ein ; hinter der letzten geschweiften Klammer.
    So viele Treppen und so wenig Zeit!

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Thx... eigentlich logisch
    Dachte das hätt ich schon versucht.
    #ifndef MfG
    #define MfG

Berechtigungen

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