Hallo zusammen, ich habe da ein kleines Problem mit dem Beschreiben eines Arrays. Ich habe an einem Analogen I2C Bus Messwerte wo ich erfasse und dies dann Berechnen umwandeln und in einem Array speichern möchte. Sollte ja nicht schwer sein. Jetzt tritt aber das Problem auf das ich nach der zweiten Umwandlung mit "sprintf" das ganz Array zerschiesche und meine Daten alle mit dem letzten Wert überschrieben wird. Den Code hab ich mal bei gefügt sowie ein Screenshot von der RS232 Schnittstelle wo ich mir die Daten übertragen lass.
Hast du dir die Warnungen des Compilers angeschaut? Oder etwa nicht enabled? Jedenfalls haut er dir bei
1 | Data_1[5] = buffer; |
und bei
1 | Data_1[1] = buffer; |
Warnings um die Ohren die du keinesfalls so stehen lassen solltest. An diesen Stellen tust du etwas was du eigentlich gar nicht willst. Was du damit erreichen willst will ich mir jetzt nicht zusammenreimen .... kurios ....
> Data_1[5] = buffer; Hier weist Du einem int (Data_1[5]) die Adresse von buffer zu. Willst Du das wirklich? Ich vermute eher nicht. Und das ist auch eher sinnfrei: > uint8_t Test; > Test = Data[3] * 256 + Data[2];
:
Bearbeitet durch User
Hallo danke schon mal für die schnell Hilfe jo mei schrieb: > Hast du dir die Warnungen des Compilers angeschaut? > Oder etwa nicht enabled? Nein er gibt die Fehlermeldungen aus. Aber leider nicht immer... Klaus schrieb: > Und das ist auch eher sinnfrei: > >> uint8_t Test; >> Test = Data[3] * 256 + Data[2]; Ja das stimmt allerdings. Hab das in die gleichen Typen geschrieben. Ändert aber nichts.
Seppel schrieb: > Nein er gibt die Fehlermeldungen aus. Aber leider nicht immer... Ein Compiler hat normalerweise ein deterministisches Verhalten. Wenn er eine warning ausgibt, dann tut er das immer. Es sei denn es gibt keinen Grund, die Datei neu zu übersetzen.
Seppel schrieb: > Nein er gibt die Fehlermeldungen aus. Aber leider nicht immer... Setze deine Compiler-Flags dass alle Warnings gezeigt werden.
Seppel schrieb: > Ja das stimmt allerdings. Hab das in die gleichen Typen geschrieben. > Ändert aber nichts. Jetzt wird's langsam seeeehr trollig.
Der IC wo ich am I2C-Bus angeschlossen ist und die Daten auslese, ist ein "PIC 18F13K22" Dürfte ja aber egal sein.
Seppel schrieb: > Der IC wo ich am I2C-Bus angeschlossen ist und die Daten auslese, ist > ein "PIC 18F13K22" > Dürfte ja aber egal sein. Wenn du weiterkommen willst gehe auf die bereits erwähnten Macken deines Programms ein. Wenn das nicht vernünftig klappt bist du auf jeden Fall ein Troll.
Seppel schrieb: > ich habe da ein kleines Problem mit dem Beschreiben eines Arrays. Nicht nur damit. Wäre es dir vielleicht möglich, wenigstens die zwei Worte deines "Titels" unfallfrei einzutippen?
Ich fürchte hier ist jedes weitere Wort bzw. jeder weitere Satz bereits sinnlos. Trollalarm.
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.