Ausgänge setzen in C/ Anfänger

OP #1029393
Hallo, ich bin neu was die programmierung der AVR´s in C angeht. Ich 
habe mir auch schon das Tutorial angekuckt. Ich bin nicht grad weit 
gekommen bevor ich passen musste. Ich verstehe nicht wie ich die ports 
beschalte. Ich möchte den port A0 als ausgang definieren und auf high 
setzen, A1 möchte ich dagegen auf low setzen. Da komme ich nicht weiter, 
ich werde aus den Tutorials nicht schlau, hoffe jemand kann mir helfen.

joni8a
Gast
Hallo,
um einen enstprechenden Portpin als Ausgang zu setzen musst du einfach 
das entsprechende Bit im DDRX Register setzen. (Das X steht für den 
jeweilgen PORT(A,B,C, D) ). Wenn das Bit des Portpins null ist ist es 
ein Eingang. In deinem Bsp. wäre des dann einfach:
DDRA |= (1<<PA0);
Gruß
Peter
Gast
>Die LED bleibt tot
Arme LED.

Mit Deinem Programm ist, wie Matthias schon sagt, der Port auf Ausgang 
geschaltet. Nach dem Reset ist das Datenregister auf 0 gesetzt. D.h. Du 
müsstest eine 0 (= 0V) messen können.

Was benutzt Du für eine Hardware? Die LED könnte theoretische jetzt 
leuchten.

Der Code
1
#include <avr/io.h>
2

3
int main(void)
4
{
5
  DDRA |= (1<<PA0);
6
  PORTA |= (1<<PA0);
7

8
  while(1)
9
    {
10

11
    }
12
  return 0;   /* never reached */
13
}

Sollte jetzt aber, die LED zum leuchten bringen. Wenn nicht, ist was 
anderes los.

Antwort schreiben

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