- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 11 bis 20 von 20

Thema: MAL Wieder "C" Frust

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #12
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Achso, ja, das packed hab ich drin:
    Code:
    /* the User preset range in the EEPROM was fixed to 16 Bytes */
    /* these paramters can changed by the user in normal operation mode */
    #pragma pack(1)  /* align the structure to bytes to minimize size */
    typedef struct 
    {
      U16  last_P10_pre;   /* last user Pressure for PRE-Insufflation */
      U16  last_Q10_pre;   /* last user Flow     for PRE-Insufflation */
      U16  last_P10_main;  /* last user Pressure for MAIN-Insufflation */
      U16  last_Q10_main;  /* last user Flow     for MAIN-Insufflation */
      BOOL last_Video;     /* last user Video on/Off state */
      U8   reserved1;
      U16  reserved2;
      U16  reserved3;
      U16  checksum;       /* CRC16 */    
    } t_user_data;
    #pragma pack()   /* end of packed structure */
    hier "dürfte" es also keine Lücken geben, der Compiler "sollte" es Byteweise ablegen.
    ohne das packed, wäre es gut möglich, dass er es auf die Standardbreite eines int aligned.

    Probier ich gleich mal....

    - - - Aktualisiert - - -

    ich hab das grad mal probiert:
    Code:
    //#pragma pack(1)  /* align the structure to bytes */
    typedef struct
    {
      short a;
      char  b;
      short c;
    } t_my_data;
    //#pragma pack()   /* end of packed structure */
    
    
    o = offsetof(t_my_data,c);
    jo, hier verschiebt sich der Offset um 1 Byte

    der Offset zu "c" ist unpacked = 4 bei packed = 3

    der GNU-ARM Compiler macht das als richtig.
    Geändert von Siro (23.11.2018 um 10:19 Uhr)

Ähnliche Themen

  1. " DiBaDu und Dein Verein" für Hackerspace Bremen 2017 - wieder dabei !
    Von Andree-HB im Forum Offtopic und Community Tratsch
    Antworten: 67
    Letzter Beitrag: 08.11.2017, 06:46
  2. Mal wieder eine "fast" funktionierende Stoppuhr
    Von Unregistriert im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 09.08.2016, 08:53
  3. Genfer Autosalon 2016 - "Knutschkugel" Isetta kommt wieder - als Elektroauto
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 02.03.2016, 12:30
  4. Versteckte Ordner wieder "unversteckt" machen
    Von Sebas im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 2
    Letzter Beitrag: 20.09.2011, 15:19
  5. "Make all" schon wieder Probleme
    Von Spongebob85 im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 08.08.2007, 20:06

Berechtigungen

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

LiFePO4 Speicher Test