Leider kann ich den Maschinencode nicht einfach lesen. Wenn die Tastenabfrage if (GPIOA->IDR & 0x0001) in einer Endlosschleife ist, wird diese nicht erkannt. Was muss ich beachten, damit auch in der Schleife die Taste erkannt wird ? Board: STM32F4 COOCOX und GCC
Was ist das für eine geq....te Sch...e? 1. Quellcode als PNG? 2. In dem zweiten Quellcode wird überhaupt keine Taste abgefragt, aber da funktioniert die Tastenabfrage? Gehen Sie zurück auf LOs. Ziehen Sie keine 4000 Euro ein. Also: Quellcode als Quellcode. Ausführliche Erklärung des Problems.
Faultier schrieb: > 2. In dem zweiten Quellcode wird überhaupt keine Taste abgefragt, aber > da funktioniert die Tastenabfrage? Na ja. Abgefragt wird sie schon. Nur halt nicht in einer Schleife. Und der Compiler implementiert das auch in beiden Fällen identisch. Ich sprech zwar diesen Assembler nicht, aber so auf die Schnelle sieht das alles für mich korrekt umgesetzt aus. Das Problem muss wo anders liegen. Der Compiler ist es nicht (wie nicht anders zu erwarten war).
Au weia. Ist mir das peinlich. Habe in die Schleife geguckt. Ich bitte um Entschuldigung. Jedenfalls liegt das Problem nicht im gezeigten Code.
Vielen Dank, für die Hilfe. Ich werde in Zukunft solche kurzen Endlosschleifen meiden, weil mir die Ursache des unterschiedlichen Verhaltens unklar ist.
lutz h. schrieb: > Vielen Dank, für die Hilfe. Ich werde in Zukunft solche kurzen > Endlosschleifen meiden, weil mir die Ursache des unterschiedlichen > Verhaltens unklar ist. das ist eigentlich das dümmste was man machen kann. Man sollte die Ursache finden und verstehen. Es liegt nicht an der Schleife! Also muss woanders das Problem sein, durch andere code taucht es bestimmt später an anderer stelle wieder auf.
Und man sollte die Attitüde "Der Compiler hat einen Fehler gemacht" ablegen. Natürlich haben Compiler auch Fehler, sind ja schliesslich auch nur von Menschen gemachte Programme. Aber in mehr als 99% aller Fälle ist nicht der Compiler schuld.
Peter II schrieb: > Man sollte die > Ursache finden und verstehen. Deshalb hat mit das Forum sehr weitergeholfen. Jetzt bin ich sicher dass es nicht der Code ist. Es konnte sein, das ich mein Board stromlos machen muss, wenn ein neuer Takt eingeschaltet wurde, damit der aktiv wird, oder ich die Zeile im Code hatte aber nicht geladen habe. Vielen Dank für die Hilfe.
@lutz Hier in den Foren gibt es ein paar ganz komische Leute. Die gehen einfach davon aus, dass der gepostete Code auch der aktuelle ist und oft noch schlimmer: In das Zielsystem geladen wurde,-) Ich finde, das muss nicht sein - obwohl es Gerüchteweise nicht schaden kann.
Amateur schrieb: > Ich finde, das muss nicht sein - obwohl es Gerüchteweise nicht schaden > kann. Muss es auch nicht! Einfach den Code ausrucken und auf den MC legen, reicht völlig.
siehe auch hier: Beitrag: STM32F4 Taster von 12V DC . Dort ist auch das Verhalten beschrieben und der Code angehängt. Der Code ist wahrscheinlich ansteckend.
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.