Forum: Mikrocontroller und Digitale Elektronik IO-Ports Xmega128A1 ansteuern


von Patrick D. (paddy84)


Angehängte Dateien:

Lesenswert?

Hallo Leute!

bin gerade dabei, mich ein wenig in den Xmega128A1 einzuarbeiten. Habe 
bisher noch nicht so ewig viel Erfahrung in der 
Controller-Programmierung, deswegen hänge ich zur Zeit gerade bei der 
Ansteuerung von Ausgängen. Wollte ein einfaches Testprogramm schreiben, 
bei dem einfach nur eine LED eingeschaltet werden soll und dauerhaft 
leuchtet(In diesem Beispiel LED 0). Komischerweise ist es bei mir so, 
dass alle LED's bis auf LED 0 leuchten. Wo muss ich nach dem Fehler 
suchen? Der Quellcode ist folgender:
1
/*
2
 * Kapitel_1.c
3
 *
4
 * Created: 07.01.2012 14:20:03
5
 *  Author: Paddy
6
 */ 
7
8
// Einbinden der Standardheader
9
#include "avr_compiler.h"
10
#include "stdint.h"
11
12
// board.h einbinden
13
// In dieser Header-Datei werden die Portzuordnungen für das Xmega-A1 Xplained Board festgelegt
14
#include "board.h"
15
16
// main-Funktion
17
18
int main(void)
19
{
20
  // LED-Port als Output setzen
21
  LEDPORT.DIR = 0xFF;
22
  // LED 1 einschalten
23
  
24
  LEDPORT.OUT = 0x01; 
25
  while(1)
26
    {
27
        //Endlosschleife
28
    }
29
}

Hab schon im Forum gesucht, aber nichts ähnliches gefunden.

Gruß

Paddy

von Ralf (Gast)


Lesenswert?

Die Led wird wohl Low Active angeschlossen sein.
http://www.scriptoriumdesigns.com/embedded/_images/Digital_Outputs_1_sm.png
Fall B

von Jonas Biensack (Gast)


Lesenswert?

beim xplain board ist es so...

von Patrick D. (paddy84)


Lesenswert?

Meine Güte, das geht ja fix hier mit den Antworten!
Danke erstmal dafür, das hat mich auf die richtige Spur gebracht!

Hab grad noch einen Schaltplan der Platine gefunden, hat die Antworten 
noch mal bestätigt.

Aber warum macht man das so? Macht die Programmierung nicht unbedingt 
einfacher. Für mich scheint es logischer wenn Ausgang = 1 eine 
leuchtende LED zur Folge hat...

von H.Joachim S. (crazyhorse)


Lesenswert?

Es gibt eben auch negative Logik, die ist nicht besser oder schlechter.
Wird wohl historische Grunde haben, TTL konnte deutlich mehr Strom bei 
0-Pegel aufnehmen als bei 1-Pegel abgeben.
In manchem Kopf ist es eben noch so drin.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.