-         

Ergebnis 1 bis 4 von 4

Thema: Atmega: pgm

  1. #1
    Erfahrener Benutzer Begeisterter Techniker Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    41
    Beiträge
    398

    Atmega: pgm

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo zusammen!

    Ich habe eine Menüstruktur welche durch eine Tabelle festgelegt wird.

    Code:
     // ---------------------------
    261 // description of the pages
    262 // ---------------------------
    263 const menu_page_desc_t pages[] PROGMEM =
    264     {
    265         // page                 title                   page action                         line1                   line2               line3
    266         { page_overview,        title_overview,         nullptr,                            &overview_line1,        &overview_line2,    &overview_line3},
    267         { page_overview_2,      title_overview,         nullptr,                            &overview2_line1,       &overview2_line2,   &overview2_line3},
    268 
    269         { page_usage_water,     title_usage_water,      nullptr,                            &usage_water_print,     nullptr,            nullptr},
    270         { page_usage_water_set, title_usage_water_set,  &set_temp_usage_water_func,         &usage_water_print,     nullptr,            nullptr},
    271 
    272         { page_date,            title_date,             nullptr,                            &print_date,            &print_time,        nullptr},
    273         { page_date_year_set,   title_date_year_set,    &set_year,                          &print_date,            &print_time,        nullptr},
    274         { page_date_month_set,  title_date_month_set,   &set_month,                         &print_date,            &print_time,        nullptr},
    275         { page_date_day_set,    title_date_day_set,     &set_day,                           &print_date,            &print_time,        nullptr},
    276         { page_date_hour_set,   title_date_hour_set,    &set_hour,                          &print_date,            &print_time,        nullptr},
    277         { page_date_min_set,    title_date_min_set,     &set_min,                           &print_date,            &print_time,        nullptr},
    278         { page_date_dow_set,    title_date_dow_set,     &set_day,                           &print_date,            &print_time,        nullptr},
    279     };
    Wie man sihet sind die Seitenaktionen Funktionspointer. Mit pgm_read_byte() kann ich bsp. die Page ID lesen, aber: Wieviele Byte muss if für die funktionspointer lesen? Wie groß ist ein funktionspointer im AVR? Unter x86 sind es 4 byte unter x86_64 sind es eben 8. Wieviele beim AVR?

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    29
    Beiträge
    1.221
    Zitat Zitat von schorsch_76 Beitrag anzeigen
    Wieviele beim AVR?
    16 Bit, also 2 Byte. Statt den Wert fest in deinen Quellcode reinzukodieren kannst du auch sizeof(intptr_t) verwenden. intptr_t ist ein Datentyp, der garantiert einen Pointer speichern kann.

    mfG
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  3. #3
    Erfahrener Benutzer Begeisterter Techniker Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    41
    Beiträge
    398
    Ich hab das jetzt so gelöst.

    Code:
     // read current page description into ram
    memcpy_P(&page,&pages[current],sizeof(menu_page_desc_t));
    Ich brauch eh die ganze Zeile ....

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    29
    Beiträge
    1.221
    Vorbildlich
    Tiny ASURO Library: Thread und sf.net Seite

Ähnliche Themen

  1. [ERLEDIGT] Atmega 644 & atmega8 parallel am ISP ... Reset beider atmega notwendig ..
    Von Ritchie im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 29.03.2013, 12:18
  2. ATMEGA 32-16 DIP :: ATMega AVR-RISC-Controller, DIL-40 |ISP-KABEL ?
    Von welt-von-max im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 3
    Letzter Beitrag: 16.05.2011, 12:41
  3. serielle Komunikation von Atmega zu Atmega
    Von info8sn im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 21.04.2008, 07:17
  4. ATMEGA 32L8 DIP vs. ATMEGA 32-16 DIP
    Von manchro im Forum AVR Hardwarethemen
    Antworten: 9
    Letzter Beitrag: 10.10.2007, 22:29
  5. Warum ist ATMEGA 32L8 DIP teurer als ATMEGA 32 DIP
    Von Frank im Forum AVR Hardwarethemen
    Antworten: 10
    Letzter Beitrag: 16.03.2004, 13:31

Berechtigungen

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