mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMEGA8: nur 1,7 V am Outputpin?


Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich habe einen ATMEGA8 in einen Schaltkreis gelötet und wollte einige 
Tests damit machen.
Die LED's die ich ansteuern wollte waren allerdings nur ganz schwach am 
glimmen, daher habe ich mal nachgemessen was der PIN den eigentlich 
rausgibt und habe mit entsetzen am Messgerät ungefähr 1,7V bis 1,8 V 
abgelesen, an einem anderen PIN sogar nur 1,4V.

Der mC ist richtig beschaltet in Hinsicht auf Stromzufuhr etc. Zwischen 
VCC und GND sowie zwischen AVCC und AGND ist jeweils ein 100nF 
Kondensator, es gehen ziemlich genau 5V in den mC.

Da ich zum Ersten mal mit einem mC arbeite bin ich ratlos und möchte 
euch um Hilfe bzw. Ratschläge bitte.

Peter

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann machst du was falsch. Was genau ist mangels Info nicht erkennbar, 
höchstens zu erraten.

Autor: Marcus Müller (marcus67)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde drauf tippen, daß die Portpins nicht als Ausgang definiert 
sind. Dann aktiviert er nur die Pullups über den Ausgang und mißt am Pin 
die Durchlassspannung der LEDs. Da passen dann die 1,4 - 1,8V je nach 
Farbe.

Gruß, Marcus

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So...

hier ist mein Code, mit dem ich den Pin als Ausgangs setze und den Strom 
"anschalte":
  DDRC &= ~( ( 0 << PC5 ) );
  PORTC |= (1<<PC5);

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zunächst den Pin mit
DDRC &= ~( ( 0 << PC5 ) );
 als Ausgang setzen und dann mit
PORTC |= (1<<PC5);
 den Pin auf high setzen.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DDR: 1=Ausgang 0=Eingang. Nur PICs arbeiten andersrum.

Wie vermutet betreibst du die LEDs mit dem schwachen Pullup eines 
Eingangs. Der gibt nicht viel her.

Autor: Z8 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn ich mich nicht irre bedeutet eine "1" im DDR-Register -> Ausgang!

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
JAAAAAAAAA

Ich habs selber rausgefunden:
muss den Pin mit
DDRC = ( 1 << PC5 );
 zum Ausgang machen!
Ich bin aber auch ein Dödel

Autor: Nico (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Damit setzt du Ihn aber auf Eingang. ;)

DDRC |= _BV(PC5)

Bit=1 == Ausgang
Bit=0 == Eingang

Autor: Justus Skorps (jussa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
€ nix

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nico wrote:
> Damit setzt du Ihn aber auf Eingang. ;)
Nein, das stimmt so!

> DDRC |= _BV(PC5)
Das macht exakt das selbe wie
> DDRC = ( 1 << PC5 );
außer, dass Du ne ODER-Verknüpfung drin hast, wodurch die anderen Pins 
am Port unberührt bleiben...

Solltest Dir bei Gelegenheit mal die Definition von _BV anschauen...

@Peter:
Artikel Bitmanipulation ist hilfreich...

Autor: Nico (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Damit setzt du Ihn aber auf Eingang. ;)
> Nein, das stimmt so!

>> DDRC |= _BV(PC5)
> Das macht exakt das selbe wie
>> DDRC = ( 1 << PC5 );
> außer, dass Du ne ODER-Verknüpfung drin hast, wodurch die anderen Pins
> am Port unberührt bleiben...

Ich bezog mich auch auf seinen vorherigen Code, hab leider nicht 
gequoted.

und was hat das mit _BV zu tun?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.