Atmega: Spannung an Ausgängen bricht ein

Gast #2872736
Lesenswert?
• ▲
▼
Servus,

Nun wie der Betreff schon sagt, bricht bei mir die 5V Spannung an allen 
Ausgängen zusammen sobald ich mehr als einen Pin schalte. Sowohl mit als 
auch ohne Last. In alten Themen war die Rede davon, dass das passiert 
wenn man die Ports als Eingang geschaltet hat aber das habe ich gemacht 
und es funktionert nicht.

Es sei denn, ich habe irgendetwas Grundlegendes verdreht oder völligst 
falsch verstanden.

AVR-Studio:
1
#include <avr/io.h>
2

3
int main(void)
4
{
5
  DDRD = 0b11111111;
6
  
7
  while(1)
8
    {    
9
      PORTD=(1<<PD0);
10
      PORTD=(1<<PD2);
11
      PORTD=(1<<PD4);
12
  }
13
    
14
}

Beschaltung des AVRs entspricht der Grundschaltung. An den Ausgängen 
sind drei LEDs. Nichts Großartiges.
Gast #2872749
Lesenswert?
• ▲
▼
FabC schrieb:
> Nun wie der Betreff schon sagt, bricht bei mir die 5V Spannung an allen
> Ausgängen zusammen sobald ich mehr als einen Pin schalte.

Wahrscheinlich auf irgendetwas um 1,7V, wobei die Spannung an PD4 
deutlich höher ist. Du betreibst deine Ausgänge im Zeitmultiplex. Guck 
dir das mal im Simulator an.
Gast #2872784
Lesenswert?
• ▲
▼
Michael schrieb:
> Wahrscheinlich auf irgendetwas um 1,7V, wobei die Spannung an PD4
> deutlich höher ist.

Ja es ist auf teilweise auch auf 0,9V zusammengebrochen.


Gut das mit
1
PORTD|=(1<<PD0);
funktionert nun. Alle haben jetzt 4,7-5V.

Aber nunja, warum macht das nun so einen Unterschied?
Gast #2872803
Lesenswert?
• ▲
▼
Hi

>Aber nunja, warum macht das nun so einen Unterschied?

      PORTD=(1<<PD0);  -> PortD = 0b00000001
      PORTD=(1<<PD2);  -> PortD = 0b00000100
      PORTD=(1<<PD4);  -> PortD = 0b00010000


      PORTD|=(1<<PD0);  -> PortD = 0b00000000 or 0b00000001 = 0b00000001
      PORTD|=(1<<PD2);  -> PortD = 0b00000001 or 0b00000100 = 0b00000101
      PORTD|=(1<<PD4);  -> PortD = 0b00000101 or 0b00010000 = 0b00010101

MfG Spess

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 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.