Problem mit Atxmega128A1

Gast #1681212
Lesenswert?
• ▲
▼
Hallo

Ich verwende einen Atxmega128a1 und möchte jetzt mal als Test ein Bit 
setzen. Dabei habe ich so meine Probleme es funktioniert nicht.

hier mal der Code:
1
#define F_CPU 16000000UL  /* 4 MHz CPU clock */
2

3
#include <util/delay.h>
4
#include <avr/io.h>
5

6
int
7
main (void)
8
{
9
        PORTK.DIR = 0xFF;               /* PC0 is digital output */
10
        PORTK.OUT = 0x01;        
11

12
        while (1) {
13
        }
14
        return (0);
15
}

Ich denke der Code sollte eigentlich so in Ordnung sein. (keine Warnings 
und Errors). Wenn ich das Programm einspiele tut sich leider gar nichts, 
der Pin0 vom Port K bleibt 0. Wenn ich das Programm mit dem SImulator(im 
AVR Studio) teste dann wird mir nur das Bit 0 vom IN Register gesetzt.

Hat irgendjemand eine Idee was ich falsch gemacht haben könnte??
Vielleicht hängt es mit den Fusebits zusammen könnte das  sein??

danke schon im Voraus

mfg
Gast #1681381
Lesenswert?
• ▲
▼
Probiert mal folgendes:

#include <avr/io.h>
#include <util/delay.h>

#define PA0 0

int   main (void)
{
   PORTE_DIR=0xff;

   for (;;)
   {
      PORTK_OUT=(1<<PA0);
      _delay_ms(500);
      PORTK_OUT &= ~(1<<PA0);
      _delay_ms(500);
   }

}
Gast #1681796
Lesenswert?
• ▲
▼
Hallo
Sooo habe das Problem schon gelöst. Ich habe das Programmiergerät (JTAG 
ICEMK2 -> PDI) nach dem ich das Programm einspielte abgesteckt und siehe 
da es funktioniert einwandfrei. Ein bisschen seltsam das das 
Programmiergerät abgeschlossen werden muss aber jetzt weiß ich 
wenigstens was der Fehler war.

Aja hat von euch schon mal jemand ein WIZNET830MJ Modul verwendet??
Wenn ich dieses in Betrieb nehme, wird der Chip (W5300) nach wenigen 
Sekunden merklich warm. Habe die Schaltung und Spannungen alle überprüft 
und konnte keinen Fehler finden.
Hat vielleicht irgendjemand von euch schon mal dieses Problem gehabt??


mfg
Gast #1682125
Lesenswert?
• ▲
▼
Hallo
Nein habe ich noch nicht. Da das Programmiergerät nur ausgeborgt ist 
habe ich an ein Firmwareupdate noch gar nicht gedacht bzw nachgefragt ob 
eines durchgeführt wurde. Aber werde das abklären und eventuell ein 
Update durchführen danke.

@Michael: Hat sich erledigt danke.


Eine andere Frage habe ich noch:

Der WIZ830MJ besitzt einen 10bit breiten Addressbus. Das heißt ein Port 
(zB PortC) ist mit den Addressbits 0 bis 7 verbunden und 2 Pins von 
einem anderen Port (zB Port D) ist mit den Addressbits 8 und 9 
verbunden.

So jetzt möchte ich gleichzeitig eine 10bit Addresse ausgeben (also 
zeitgleich einen Wert auf PortC und PortD ausgeben). Weiß wer wie ich 
das mache??

Danke!!

mfg

Antwort schreiben

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.

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.