Port B bei Nichtprogrammierung?

Gast #3947
Was passiert eigentlich wenn man bei Nichtprogrammierung des AT90S4433 
LED's an Port B (z.B. Pin 14) mit Vorwiderstand gegen VCC anschließt. 
(siehe http://www.mikrocontroller.net/tutorial2.htm).
Bei mir passiert gar nichts... Sollte die LED leuchten? Die Spannung 
zwischen Vcc und Pin 14 ist 0 und zwischen GND und Pin 14 ist sie auch 
null...
Gast #3949
Das habe ich mir irgendwie gedacht und deshalb auch gefragt... Aber was 
koennte denn nicht stimmen? Ich hab alles angeschlossen wie es im 
Tutorial (mikrocontroller.net) im Schaltplan steht. Erschwerend kommt 
noch hinzu, dass ich ein Newbie bin und nicht allzu viele 
Elektronik-Erfahrungen habe.
Gast #3950
Du könntest einmal messen ob zwischen VCC und GND Pins am Sockel des AVR 
genau und schön 5 Volt rauskommen.
Wenn ja dann scheint entweder der uC oder der Quarzoszillator kaputt zu 
sein. So einen hab ich auch schon (ziemlich am Anfang) aus 
unerklärlichen Gründen abgeschossen.

Niki
Gast #3951
An den Pins (7: Vcc und 8: GND) liegen genau 5.00V an. Das kann doch gar 
nicht sein, dass irgendetwas kaputt ist, ist doch alles neu! Wie teste 
ich, ob mein Quarzoszillator kaputt ist? (mir steht aber im Prinzip nur 
ein Multimeter zur Verfügung)...
und wie verifiziere ich, ob der uC kaputt ist?
Danke für eure Hilfe!
Gast #3952
Das ist völlig korrekt

Nicht nur PORTB sondern auch das DDRB werden $00 nach RESET
-> Hi_Z Input

Vorsicht
Einschalten von Sonderfunktionen ( zb SPI ) ändert manchmal die 
Datenrichtungsregister automatisch

Phagsae
Gast #3953
In der Atmel-Doku steht, daß die Ports bei und nach einem Reset (also 
auch einschalten) "ge-Tri-Stated" sind. Das soll bedeuten, daß sie 
hochohmig sind, also darf die LED auch gar nicht leuchten.
Den Oszillator müßtest Du testen können, in dem Du einfach mal das 
Multimeter auf ACV stellst und es zwischen Ausgang und GND klemmst.
Gast #3954
Heißt das, dass die LED erst leuchtet wenn man in das 
Datenrichtungsregister von PORT B diesen explizit als Ausgang definiert 
hat? Dann bin ich ja beruhigt.

Beim Oszillatortest kommt 1.46 V heraus. Der Oszillator liefert doch 
eine Rechteckspannung mit Amplitude 5 V. Dann kann da doch was nicht 
stimmen, oder?

Danke für eure nette Hilfe!
Gast #3955
@ Phagsae: sag ich ja, all ports, d.h. das komplette portfile (ddrx sind 
ja auch ports, so wie das sreg u.a.)

@Igor: dennoch müsste zwischen portpin und vcc ne spannung von 5V sein 
(oder irre ich da?)
Gast #3956
Hi Empir,
kann stimmen, weil dein Voltmeter so schnell garnicht messen kann. Du 
kannst das Multimeter ruhig im DC-Bereich schalten. Wenn ein exakt 
symetrischer Rechteck anliegt mit einer Spitzenspannung von 5V wirst du 
2,5V messen.
Dein AVR scheint also in Ordnung zu sein.

So denn,
Günter
Gast #3957
Auf welcher Seite von der Doku steht denn, dass die Ports nach dem Reset 
ge-tri-statd sind. Ich hab' auf Seite 5 gefunden, dass sie während einer 
Resets ge-tri-stated sind, was danach geschieht ist mir immer noch 
unklar...
Gast #3960
Hi,

ein "Pull up" ( zieh hoch ) - Widerstand liegt zwischen einem Eingang 
und +5V. Dadurch wird erreicht, das der Eingang immer ein definiertes 
Signal ( in diesem Fall high-Signal ) erhält und er nicht "in der Luft 
hängt", denn damit könnte der Controller oder andere Digitaltechnik 
manchmal nichts anfangen. Dies ist sehr wichtig.
Ist der Eingang mit Pull up nun unbeschaltet, so liegt an ihm trotzdem 
eine Spannung von 5Volt an ( über den Widerstand ) und er wird als high 
erkannt. Als low wird er erkannt wenn man den Eingang auf Masse zieht ( 
z.B. einen Schalter zwischen Eingang und Masse schaltet ).
Einen Schaltplan für dieses Beispiel findest du auch bei der 
eingangsbeschaltung im Tutorial 2.

Gruß
Lennzo

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 24 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.