Startprobleme mit dem XMEGA A1 USB Board

Gast #1728985
Lesenswert?

Hallo!

Ich hab emir das XMEGA A1 USB Board aus dem shop gekauft

http://shop.avr-praxis.de/development-tools/mc-module/xmega-a1-usb.html

und will es mit dem AVRStudio4 und dem AVRisp mkII programmieren.
Da leider das Datenblatt des XMEGA A1 USB nicht gerade aussagekräftig 
ist, bin ich mir nicht sicher, ob ich die Spannungsversorgung richtig 
angeschlossen habe. Ich habe 3,0 V an die PINs AVCCA und AVCCB angelegt 
(Datenblatt XMEGA A1 USB Seite 4 
http://shop.avr-praxis.de/media/docs/xmega-a1-usb_datasheet.pdf). Wenn 
ich nun im AVRStudio mich mit dem AVRisp mkII verbinde und ein hex File 
aufspiele, steht unten in der Statusleiste auch überall OK!. Mein 
Programm ist folgendes:

#include <avr/io.h>

int main (void)
{
   PORTF.DIR = 0xFF;
   PORTF.OUT = 0xFF;

   while(1)
   {
      if(PORTF.OUT == 0xFF)
    {
       PORTF.OUT = 0x00;
    }
    else
    {
         PORTF.OUT = 0xFF;
    }
   }

   return 0;
}

Also einfach nur die PortBank F als Ausgang definiert und die Pins der 
Portbank solen dann ständig toggeln. Ich habe eine LED angeschlossen, 
jedoch tut sich nichts. Weiß jemand einen Rat für mich?

Gruß, Markus
Gast #1729038
Lesenswert?

So, hab meinen Code jetzt mal mit PORT Bank A versucht und es läuft, 
warum das mit F nicht geht muss ich nochmal nachgucken. Jedenfalls weiß 
ich jetzt schonmal, dass der µC funktioniert :-D.

Trotzdem Danke für eure Mühe!

Gruß, Markus
Gast #1730969
Lesenswert?

Hallo Markus,

ich nutze das Mikrocontrollermodul ebenfalls. Ich weiß nicht ob du dein 
Problem inzwischen gelöst hast. Also wegen der Betriebsspannung, hier 
gilt natürlich die Betriebsspannungsgrenzen des Xmega128A1, also 
Obergrenze ist 3,6V.
Du setzt den ganzen PortF einfach als Output, bedenke dass der Usart0 
von PortF an der USB-UART-Bridge angeschlossen ist, bzw. am 
Leveltranslator zur Bridge. RXD von USARTF0 sollte Input bleiben!

Die OnBoard-LED (PQ3) kannst du so toggeln:
1
PORTQ.DIRSET = (1<<PIN3);
2

3
while(1) {
4

5
  PORTF.OUTTGL = (1<<PIN3);
6

7
  delay_ms( 250 );  
8

9
}

Wahrscheinlich hast du das schon gemacht, ansonsten schau dir mal bei 
avr-praxis das Thema "Schnellstart" im Supportbereich des Moduls an, mir 
hat es jedenfalls sehr geholfen, da ich bisher nur mit normalen AVRs zu 
tun gehabt habe und der Xmega ist doch etwas anders zu programmieren

Stefan

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren