Hallo Ich habe in WinAVR folgende structure struct CAN_Message { char Name[8]; uint16_t SID; uint16_t EID; uint8_t Data[8]; }; deklariert. Nun möchte ich aus dieser structure ein Array anlegen: struct CAN_Message Message[5]; Auf den ersten Blick scheint das im Simulator (AStudio) auch zu funktionieren. Bei genauerem hinsehen musste ich allerdings feststellen, dass jedes Array-Element die selbe Adresse besitzt (also Message[0].SID liegt auf der gleichen Speicherzelle wie Message[1].SID). Woran liegt das? Wie mache ich es richtig? Grüsse, Steffen
Auf den ersten Blick kann ich keinen Fehler entdecken. Wie hast du dir die Adresse anzeigen lassen?
Ich rufe den Code in AStudio 4.11 auf und simuliere ihn. Die Adressen lese ich im "Watch"-Fenster ab... Ich kann also davon ausgehen, dass mein Fehler hausgemacht ist? Also WinAVR kann Arrays einer struct anlegen?
Hmm, Du hast mich mit Deiner Frage stutzig gemacht. Ich hab also nochmal im Memory-Fenster nachgesehen und tatsächlich - dort werden unterschiedliche Adressen verwendet! Der Code funktioniert also doch! Er wird nur nicht so im Watch-Fenster angezeigt, wie ich's erwarten würde. Bug? Oder hat das einen bestimmten Grund?
>Ich rufe den Code in AStudio 4.11 auf und simuliere ihn Wieso verwendest du nicht die aktuellste AVR Studio Version 4.12 SP2 build 472 ??
Weil ich hinter einer Modem-Verbindung sitze und 4.11 bisher problemlos funktionierte ;-) Aber ich entnehme Deiner Antwort, dass mit etwas Glück mein Problem in der neuen Version gelöst wurde.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.