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

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