mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Porblem mit STK600 und JTAG


Autor: Horst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich arbeite zur Zeit mit einem STK 600 auf dem ein XMega128A1 sitzt. Als 
Programmier und Debug Schnittstelle benutze ich ein JTAGICE mkII.

Jetzt hab ich folgenden (recht einfachen) Programmcode am laufen:

#include <avr/io.h>
int main (void)
{
  PORTD.DIR = 0xFF;
  PORTD.OUT = 0xFF;
  PORTB.DIR = 0x00;

  while(1)
  {
    PORTD.OUT = PORTB.IN;
  }
}

An PortD sind die LEDs angeschlossen und an PortB die Taster.

Wenn ich die Taster 0-3 betätige leuchten auch die entsprechenden LEDs, 
die vier anderen LEDs leuchten dauerhaft. Das kann ich mir auch noch 
erklären, denn laut Datenblatt liegt auf PORTB Pin4-7 die 
JTAG-Schnittstelle.

Jezt ändere ich den Code folgendermaßen:

#include <avr/io.h>

int main (void)
{
  PORTD.DIR = 0xFF;
  PORTD.OUT = 0xFF;
  PORTA.DIR = 0x00;

  while(1)
  {
    PORTD.OUT = PORTA.IN;
  }
}

Jetzt sind die Taster also an PortA angeschlossen, die LEDs weiterhin an 
PortD. Jetzt leuchten LED 0 und 1 dauerhaft, die anderen lassen sich wie 
gewünscht schalten. Aber wenn ich das Datenblatt richtig lese, liegt 
doch auf PortA Pin 0-1 nichts außergewöhnliches, was die von mir 
gewünschte Funktion beeinflussen könnte.
Daher die Frage: Warum läuft das nicht?

Danke schon mal für eure Antworten.

Autor: Horst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab jetzt das Board mal direkt via USB mit dem PC verbunden und 
programmieren dann jetzt über die ISP/PDI Schnittstelle. Nachdem ich 
dann noch das JTAGEN FuseBit als disabled gesetzt hab, war das Problem 
mit PORTB behoben. Wenn ich aber PORTA an die Taster lege, leuchten die 
LEDS 0-1 immernoch dauerhaft.
Wie kommt das?

Autor: heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Ref vom STK600 liegt vermutlich auf PA0 benutz doch mal die Digital 
Ports anstatt der 2 analogen und schau ob dann alles geht

Autor: Horst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja klar, wenn ich nen anderen Port benutze dann läufts, aber man muss 
doch auch Port A als digital Port nutzen können. Funktioniert ja mit 
Port B auch und Port B ist ja schließlich auch für die analogen 
Geschichten zuständig. Außerdem liegt Aref ja auch nur auf PA0, warum 
läuft dann nicht wenigstens PA1 wie gewünscht?

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.