Hallo Wenn ich in der Interruptroutine mein Array saveb[g] auslesen will, dann kommt immer nur 232 auf meiner rs232 raus, ich kann so oft wie ich will die Interruptroutine auslösen. Kann das sein, das die Variable i nicht in die Interruptroutine übergeben wird ??Kann ja in eine Int.Rout. nicht einfach einen Wert übergeben, wie z.B wenn ich eine normale Funktion aufrufe.
Die Variable i in deiner ISR ist eine lokale Variable, die irgendeinen zufälligen Wert hat. Sie hat nichts mit der Variablen i aus main() gemeinsam (außer dem Namen). Du müsstest dich mal mit den Grundlagen von C vertraut machen. Ein gutes Buch oder irgendein Tutorial können dafür sehr hilfreich sein, und eigentlich lernt man C auf einem PC einfacher als auf einem Microcontroller.
Hallo Jörg Ich habe das nochmal verändert und jetzt geht es . DANKE das es Menschen gibt die sich um Probleme anderer kümmern.Und dann auch noch bei Programmen ohne Kommentare am Rand. Danke
Kommentare am Rand sind weniger wichtig als Programme, die an sich gut lesbar sind. Man kann allein mit aussagefähigen Bezeichnern manchmal mehr erreichen als mit Kommentaren. Jede Zeile zu kommentieren unterbricht den Lesefluss viel mehr. Dann lieber einen Blockkommentar über einem bestimmten Bereich von Code. `i' ist übrigens durchaus ein aussagefähiger Bezeichner: es ist eine typische Laufvariable für eine Schleife, die eher lokale Bedeutung hat. Was ich natürlich für eine Variable namens i nicht erwarten würde ist, dass sie der Übergabe aus main() in eine ISR dient. ;-)
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.