Kurze Frage:
Kann man auch den Zustand von Ausgängen mit der PINx-Abfrage feststellen
?
Oder geht das nur mit Eingängen ?
Wenn ich das PORTx-Register abfrage habe ich ja nur den Inhalt des
Ports.
Absolute Sicherheit über den Zustand des Ausganges gibt mir doch nur das
PINx-Register, oder ?
Ob diese Abfrage überhaupt sinnvoll ist, ist hier übrigens NICHT Teil
der Debatte.
Ich habe folgendes versucht, aber es funktioniert nicht:
LEDs an PC0, PC1
ATMegaxxx
#include <avr/io.h>
#include <util/delay.h>
void delay_s(uint8_t sec)
{
uint16_t i=0, j=0;
for(j=0; j<sec; j++)
{
for(i=0; i<1000; i++)
_delay_ms(1);
}
}
int main(void)
{
DDRC |= (1<<DDC0) | (1<<DDC1);
PORTC |= (1<<PC0);
PORTC &= ~(1<<PC1);
while (1)
{
delay_s(1);
PORTC ^= (1<<PC0);
PORTC &= ~(1<<PC1);
PORTC |= ((1 && (PINC & (PINC0)))<<PC1);
}
return 0;
}
Eine LED (PC0) sollte im Sekundentakt blicken (tut sie auch) und die
andere LED (PC1) sollte es durch die Abfrage der anderen gleichtun.
Tut sie aber nicht (ist nur ein Beispielprog).
Ich brauche solch eine Abrage aber.
Wie kann man das realisieren, was ist falsch am Programm ?
Danke schon mal im voraus
> Absolute Sicherheit über den Zustand des Ausganges gibt mir doch nur das> PINx-Register, oder ?
Ja.
> Wie kann man das realisieren, was ist falsch am Programm ?
"PINC & (PINC0)" ist immer 0. "1<<" vergessen.
> Absolute Sicherheit über den Zustand des Ausganges gibt mir doch nur das> PINx-Register, oder ?
Absolute Sicherheit gibt es nicht.
BTW:
Fragezeichen gehören, wie Punkte, zum letzten Wort im Satz. Dann
passiert sowas nicht:
> Kann man auch den Zustand von Ausgängen mit der PINx-Abfrage feststellen> ?
Danke, super. Funktioniert!
@Lothar Miller:
Beschränke Deine Aussagen auf das Thema.
Klugscheißerei war nicht das Thema!
Aber darin bist Du scheinbar ganz gut.
Nächste mal schreib besser einfach nix.
Oder Du meldest Dich in einem Forum für Deutschlehrer an.
Gruß
Ich bin immer wieder erstaunt, wie schnell Leute eingeschnappt sind und
persönlich beleidigend werden, wenn man ihnen einen gut gemeinten Rat
zur Rechtschreibung oder Zeichensetzung gibt. Ist wohl ein wunder Punkt
bei vielen.
> Wenn ich das PORTx-Register abfrage habe ich ja nur den Inhalt des> Ports.
Ja.
> Absolute Sicherheit über den Zustand des Ausganges gibt mir doch> nur das PINx-Register, oder ?
Wo sollte da jetzt der Unteschied sein? Ich könnte mir höchstens bei
einem Kurzschluß am Ausgang vorstellen, daß die verschieden sind.
> Ob diese Abfrage überhaupt sinnvoll ist, ist hier übrigens NICHT Teil> der Debatte.
Naja, wenn du den Unterschied zwischen dem Lesen eines Ausgangs und dem
Lesen des entsprechenden Eingangs wissen willst, kommt diese Frage doch
eigentlich ganz von selbst ins Spiel.
Gast schrieb:
> Beschränke Deine Aussagen auf das Thema.> Klugscheißerei war nicht das Thema!
Recht frech, wenn man bedenkt, dass jemand anonym sich hinter einem Gast
Zugang versteckt, nach Hilfe verlangt, diese bekommt, inklusive einem
Tipp, dass die Rechtschreibung hier unter aller Kritik ist.
Also einfach ein Danke hätte sicher auch gereicht...
Michael
"Ob diese Abfrage überhaupt sinnvoll ist, ist hier übrigens NICHT Teil
der Debatte."
Warum nicht?
Diese Abfrage macht nur dann Sinn, wenn PIN != PORT, ansonsten bekommt
man nämlich exakt den Zustand des Ausgangs über das Lesen des
PORT-Registers.
Und das würde bei einem Ausgang einen Kurzschluss bedeuten - und das
wiederum ist völlig sinnfrei, denn dann liegt definitiv ein massiver
Fehler im Hardware-Design vor.
Das hat überhaupt nichts mit eingeschnappt sein zu tun.
Aber hier geht es nun mal nicht um Orthographie.
Das ist ein Elektronikforum.
Verstecken tue ich mich auch nicht.
Ob da nun ein Name steht oder nicht.
Kennen tut man sich dadurch trotzdem nicht.
Es gibt scheinbar viele Leute, die denken sie müssten aus einer Mücke
einen Elefanten machen.
Daher übrigens auch der Teil was hier NICHT Thema ist.
Ich wollte nur eine einfache Antwort und die habe ich spätestens nach
dem 2. Antwortthread erhalten.
Nochmal danke an die Leute die sich auf das Thema konzentriert haben und
so schnell geantwortet haben, anstatt der Philosophie zu erliegen.
Philosophiert ihr mal weiter eure Themen, die die Welt nicht bewegen.
Ach, noch was,... ich glaube in China ist gerade ein Sack Reis
umgekippt.
Wichtig,... oder ?
Außerdem ist es gerade dieses Philosophieren, was die Suche nach der
Lösung eines Problems manchmal echt anstrengend macht, da man diese
nutzlosen Beiträge lange überspringen muss, bis man zu einer
vernünftigen Antwort kommt.
Gruß an alle
Marvin M. schrieb:
> Warum nicht?> Diese Abfrage macht nur dann Sinn, wenn PIN != PORT, ansonsten bekommt> man nämlich exakt den Zustand des Ausgangs über das Lesen des> PORT-Registers.> Und das würde bei einem Ausgang einen Kurzschluss bedeuten - und das> wiederum ist völlig sinnfrei, denn dann liegt definitiv ein massiver> Fehler im Hardware-Design vor.
Na ein Glück, dass niemand Fehler in seinen Schaltungen macht,
schließlich wäre das ja völlig sinnfrei. ;)
Zurück in der Realität: Bis auf ganz wenige, denen wahrscheinlich schon
das Gras aus der Tasche wächst, machen alle Fehler - sowohl in ihrer
Soft- als auch in ihrer Hardware. Es soll auch schon vorgekommen sein,
dass Bauteile fehlerhaft sind. Und manchmal sind solche Fehler sehr
schwer zu finden, treten nur sporadisch und kurz auf und da ist es ganz
gewiss hilfreich, den (echten) Zustand des Ports herausfinden zu können.
Mein Dank als unbeteiligter, aber interessierter Dritter an Stefan
Ernst, der hier als Einziger eine vernünftige und konstruktive Antwort
gegeben hat.