globaler stuct arry



  • Hi

    ich steige jetzt nach längerer paus wirder in C++ ein.
    Ihrgenwie klappt das nicht so wir ich mir das denke 🙄 .
    vieleicht bin ich einwenig assambler geschädigt aber ich möchte ein globales struct arry anlegen.
    Also ich habe sozusagen eine zeile und spalten
    die zeile entspricht:

    struct sendBuff{uint8 AnzahlByte;char sendFNavD[15];};

    // das sind daten die ich senden will je nachdem welchen wert AnzahlByte hat
    sende ich daten aus dem char(maximal.16)

    Jetzt gibt es 8 teilnehmer die mir voher daten gesendet haben also habe ich definiert:

    struct sendBuff Teilnehmer[7];

    jetzt hätte ich doch speicherplatz reserviert für 8 Teilnehmer mit je 1byte Anzahl und 16 daten oder?

    UART_2_WriteTxData();

    ist die funktion die ich schon vorgeschrieben bekommen habe um 1Byte an den uart zu senden(das the ich im Timer interrupt).

    UART_2_WriteTxData(Teilnehmer[0].sendFNavD[0]);
    Sendet dann doch eigentlich die erste date raus.

    nun meckert der immer rum das ich das nicht definiert habe.

    wo und wie muss man das definieren(header, main, Interrupt). Ich brauch das global da die daten in einem timer inerrupt gesendet werden sollen, ich die daten aber voher durch eine funkübertragung bekomme.

    oder habt ihr andere vorshläge sowas zu realiesiern??

    Danke schon mal 🙂



  • littleHK schrieb:

    struct sendBuff{uint8 AnzahlByte;char sendFNavD[15];};

    // das sind daten die ich senden will je nachdem welchen wert AnzahlByte hat
    sende ich daten aus dem char(maximal.16)

    Maximal 15. Und wenn es ein C-String sein soll, maximal 14.

    littleHK schrieb:

    struct sendBuff Teilnehmer[7];

    jetzt hätte ich doch speicherplatz reserviert für 8 Teilnehmer

    Nein, für 7.

    littleHK schrieb:

    nun meckert der immer rum das ich das nicht definiert habe.

    Was hindert dich daran, die Fehlermeldungen hier zu zeigen?

    Wo hast du was definiert?
    Kompilierbares Beispiel!



  • Beim Array mußt du jeweils die Größe eintragen - nicht den höchsten Index!

    struct sendBuff Teilnehmer[8]; // 8 Teilnehmer mit Index 0 bis 7
    

    PS: Und benutze Code-Tags bei deinen Beiträgen!



  • Th69 schrieb:

    Beim Array mußt du jeweils die Größe eintragen - nicht den höchsten Index!

    struct sendBuff Teilnehmer[8]; // 8 Teilnehmer mit Index 0 bis 7
    

    PS: Und benutze Code-Tags bei deinen Beiträgen!

    ah OK danke stimmt da dämmert was in meinem schädel

    in der header datei

    //globale Variablen Deff
    
        struct sendBuff{uint8 AnzahlByte;char sendFNavD[15];};  //hk Anzahl der zu sendenden bytes mit maximal 15 daten
    

    in der Main datei:

    int main()
    {
        struct sendBuff Teilnehmer[8];            //hk struktur für 8 Teilnehmer
    

    wenn ich den code

    struct sendBuff Teilnehmer[8];
    

    so mekert er nur wenn ich versuche den im isr zu benutzen



  • Global?


Anmelden zum Antworten