Forum: Mikrocontroller und Digitale Elektronik AVR Reaktion auf Pinabfrage


von Jens (Gast)


Lesenswert?

Hi,

ich frage hier einen Pin ab direkt als erstes im Main, ohne die 
direktion zu verändern. Ist ja auf input.

Wieso lese ich einen unbeschalteten AVR Pin als Low ein. In der TTL 
Technik werden unbeschaltete Pins doch i.d.r als High interpretiert?

JJ

von Georg G. (df2au)


Lesenswert?

Weil der AVR nicht in TTL Technik gefertigt wurde?

von Jens (Gast)


Lesenswert?

ok, wenn das so ist...

von Karl H. (kbuchegg)


Lesenswert?

Und Achtung.
Nur weil du jetzt den Pin als 0 gemessen hast, heisst das nicht, dass 
ein unbeschalteter Pin eine 0 liefert.
Ein unbeschalteter Pin hat keinen definierten Wert. D.h. theoretisch hat 
er den schon, praktisch aber nicht, weil der Pin wie eine Antenne 
fungiert und sich aus der Umgebung jedes elektromagnetische Feld 
einfängt, das er kriegen kann. Und davon gibt es in einem Haushalt jede 
Menge.

von Jens (Gast)


Lesenswert?

Hi,

ja, ok - da war ich mir bei den AVR nicht sicher, wie das ist. Also es 
ist wirklich hochohmig...

Habe ich hier auch schon festgestellt, manchmal lese ich  auch eine 1 
zurück...
Ich habe das Konzept überdacht und es jetzt definiert gehalten.... geht 
gut...

JJ

von Piefke (Gast)


Lesenswert?

Jens schrieb:
> ich frage hier einen Pin ab

Mit welchem Befehl? PINx oder PORTx?

von Jens (Gast)


Lesenswert?

PORTx ist das Ausgangsregister! Wenn der Pin als Eingang gestellt ist 
über DDRx dann kannst du mit PORTx nur den Pullup setzen. Wenn du es 
liest, liest du nur was du eingeschrieben hast...

JJ

von Piefke (Gast)


Lesenswert?

Jens schrieb:
> PORTx ist das Ausgangsregister! ...Wenn du es
> liest, liest du nur was du eingeschrieben hast...

... und nach einem Reset liest man immer '0'.
Da wollte ich nachhaken, aber wie ich sehe, ist dir das bekannt.

Rückblende:
Bei TTL-Technik war ein offener Eingang übrigens auch nicht verlässlich 
auf '1'. Mit offenen Eingängen konnte man sich kräftig Störungen 
einhandeln. Direkt auf Vcc legen, durfte man die Eingänge auch nicht, da 
sie empfindlich auf Überspannungen reagierten. 1k - 3k3 Pullups waren 
immer angesagt.

von Jens (Gast)


Lesenswert?

>>1k - 3k3 Pullups waren immer angesagt.

Man sollte sie jedenfalls beschalten, egal welche Funktion sie hatten. 
Worauf ich hinaus wollte war das TTL rein vom Aufbau her im ungestörten 
Zustand einen offenen Eingang als High interpretierte und ich wollte 
wissen wie das bei den Atmels ist, also rein von der Seite des inneren 
Aufbaus her...

http://de.wikipedia.org/wiki/Transistor-Transistor-Logik

>> Eine Besonderheit der TTL-Schaltung besteht darin, dass unbeschaltete Eingänge 
wirken, als lägen sie auf High-Pegel.

>>Praktisch sollen unbenutzte Eingänge auf ein festes Potential gelegt werden, 
damit sichergestellt werden kann, dass die Schaltung korrekt arbeitet. 
Unbeschaltete Eingänge können die passive Störsicherheit einer Schaltung massiv 
verschlechtern.

Ist klar! :-)

JJ

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
Noch kein Account? Hier anmelden.