Nicht angemeldet. · Kennwort vergessen · Registrieren

ko25suha
Mitglied seit 01/2012
8 Beiträge
Betreff: April 2007 2a)
Ich hab eine ganz grundlegende Sache noch nicht begriffen.

Aufgabe 2: (30 Punkte)
a) An einem Port eines Mikrocontrollers sind 8 LEDs angeschlossen. Die einzelnen
LEDs können über die Bits eines Registers angesprochen werden. Das Register ist
in den Speicher des Mikrocontrollers auf Adresse 0x3B abgebildet.
Schreiben Sie eine Funktion
void set_led(int led, int command)
die Folgendes leistet:
Die LED Nr. led (Wert von 0 bis 7) wird eingeschaltet (falls command = 1), ausgeschaltet
(command = 0) oder umgeschaltet - d. h. ausgeschaltet, falls sie eingeschaltet
war, bzw. eingeschaltet, falls sie ausgeschaltet war (command = 2).
Sie können davon ausgehen, dass die Funktion nicht mit falschen Parametern aufgerufen
wird.

Wenn ich mir nun das Ein- und Ausschalten der LEDs leichter machen möchte, würde ich mir ja vorher gerne DDR für In- oder Output, und PORT für den Pegel definieren.
Aber diese beiden haben doch nicht gleichzeitig die selbe Adresse 0x3B...oder etwa doch?

Wie falsch ist die folgende Definition:

#define DDR (* ( volatile uint8_t *) (0x3B) )
#define PORT (* ( volatile uint8_t *) (0x3B) )

Oder steht DDR eine Stelle vor PORT im Register?

Bzw kann es ja auch egal sein wo DDR steht, da es ja schon auf Output konfiguriert sein sollte oder?

Dankeschonmal für Antworten zu dieser spät gestellten Frage
Dieser Beitrag wurde 2 mal verändert, zuletzt am 26.07.2012, 21:49 von ko25suha.
Christian St. (Moderator)
Mitglied seit 05/2011
196 Beiträge
Da steht nichts von DDRs, daher brauchst du dich auch nicht darum kümmern. Ein DDR an der gleichen Adresse wie ein PORT wäre auch quatsch, dann bräuchte man nicht 2 verschiedene Makros, die zum gleichen Code expandiert werden.
Schließen Kleiner – Größer + Auf diesen Beitrag antworten:
Prüfcode: VeriCode Gib bitte das Wort aus dem Bild ins folgende Textfeld ein. (Nur die Buchstaben eingeben, Kleinschreibung ist in Ordnung.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O :troll:
Weitere Zeichen:
Gehe zu Forum
Powered by the Unclassified NewsBoard software, 20110527-dev, © 2003-8 by Yves Goergen