Gast
#867303
Hallo! Ich bin Anfänger in AVR-Programmierung. Gibt es eine Möglichkeit den Status eines Ausganges (bspw. PD1) einzulesen? Und zwar ob da gerade eine 1 oder eine 0 ausgegeben wird? Gruß, Benny
|
Anzeige
|
Atmega8535 Ausgänge einlesen
Gast
#867303
Hallo! Ich bin Anfänger in AVR-Programmierung. Gibt es eine Möglichkeit den Status eines Ausganges (bspw. PD1) einzulesen? Und zwar ob da gerade eine 1 oder eine 0 ausgegeben wird? Gruß, Benny Datenblatt, Seite 53: "Independent of the setting of Data Direction bit DDxn, the port pin can be read through the PINxn Register bit."
Gast
#867428
Vielen Dank für den Hinweis... ich komme aber nicht wirklich weiter damit... und zwar möchte ich den Signalzustand an PD1 einlesen und über eine LED an PA2 ausgeben. Zudem möchte ich die Funktion intern(); ausführen, wenn die LED vorher nicht geleuchtet hatte. Pullup an PD1 ist aktiv.
Wenn ich nun PD1 auf Masse lege geht zwar die LED an - jedoch führt er die Funktion intern(); immer aus... auch wenn die LED bereits leuchtet. Ich dachte dies kann man umgehen wenn man den Ausgangspin PA2 einliest. Wenn HIGH (=LED leuchtet) anliegen sollte wird die Funktion intern() nicht erneut aufgerufen... Woran liegt das? Viele Grüße, Benny Benny wrote:
> Woran liegt das?
Vielleicht daran, dass das if in dem else -Block keinerlei
Auswirkung auf den Funktionsaufruf hat? Wenn die Funktion nicht mehr
ausgeführt werden soll, wenn PA2 bereits high ist, dann musst Du noch
ein paar Klammern spendieren.
Oder alternativ die öffnende Klammer anders positionieren.
Gast
#868993
aha - es funktioniert - vielen vielen Dank! Da hab ich wohl eine Klammer übersehen, die weitreichende Folgen hatte ;) Gruß, Benny Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|