Hallo Leute,
ich bin über ein Problem gestoßen, in meinen Vorhandenen ATMEGA-Projekt habe ich meine INITs immer in der Form erstellt:
//IN_EthernetModOn
PortA.0:= 1; //Pullup
DDRA.0= 1; // EINGANG
// IN_SOFTRESET PortA.1
PortA.1:= 1; //Pullup
DDRA.1= 1; // EINGANG
// IN_RUNSTOP PortA.2
PortA.2:= 1; //Pullup
DDRA.2= 1; // EINGANG
// IN_TAST1 PortA.3
PortA.3:= 1; //Pullup
DDRA.3= 1; // EINGANG
Diesen Aufbau finde ich wegen der Komentare übersichtlicher für jeden IO.
Zur besseren Übersicht habe ich die Port-Pins wie folgt deklariert:
VAR
// Input Onboard
IN_ETHERNET [@PINA, 0 ] : bit;
IN_SOFTRESET [@PINA, 1 ] : bit;
IN_RUNSTOP [@PINA, 2 ] : bit;
IN_SERVTAST [@PINA, 3 ] : bit;
Beim ATMega läuft das auch richtig, bei er Portierung des vorhandenen Programmcodes läuft es aber auf dem XMEGA256A3 eben nicht! Ich bekomme keine richtigen Werte der PINs.
Erst als ich vor lauter Verzweifelung den INIT-Code wie folgt geändert habe lief es plötzlich ohne Probleme.
//IN_EthernetModOn PortA.0
// IN_SOFTRESET PortA.1
// IN_RUNSTOP PortA.2
// IN_TAST1 PortA.3
// INIT Werte Eingänge
DDRA:= %00001111;
// INIT PULLUP
PORTA:= %00001111;
Aber Warum, das sollte doch eigentlich das gleiche sein oder ?!?!
Oder habe ich was übersehen?
AVRco 5.02
Gruss
Thorsten
ich bin über ein Problem gestoßen, in meinen Vorhandenen ATMEGA-Projekt habe ich meine INITs immer in der Form erstellt:
Code
//IN_EthernetModOn
PortA.0:= 1; //Pullup
DDRA.0= 1; // EINGANG
// IN_SOFTRESET PortA.1
PortA.1:= 1; //Pullup
DDRA.1= 1; // EINGANG
// IN_RUNSTOP PortA.2
PortA.2:= 1; //Pullup
DDRA.2= 1; // EINGANG
// IN_TAST1 PortA.3
PortA.3:= 1; //Pullup
DDRA.3= 1; // EINGANG
Diesen Aufbau finde ich wegen der Komentare übersichtlicher für jeden IO.
Zur besseren Übersicht habe ich die Port-Pins wie folgt deklariert:
Code
VAR
// Input Onboard
IN_ETHERNET [@PINA, 0 ] : bit;
IN_SOFTRESET [@PINA, 1 ] : bit;
IN_RUNSTOP [@PINA, 2 ] : bit;
IN_SERVTAST [@PINA, 3 ] : bit;
Beim ATMega läuft das auch richtig, bei er Portierung des vorhandenen Programmcodes läuft es aber auf dem XMEGA256A3 eben nicht! Ich bekomme keine richtigen Werte der PINs.
Erst als ich vor lauter Verzweifelung den INIT-Code wie folgt geändert habe lief es plötzlich ohne Probleme.
Code
//IN_EthernetModOn PortA.0
// IN_SOFTRESET PortA.1
// IN_RUNSTOP PortA.2
// IN_TAST1 PortA.3
// INIT Werte Eingänge
DDRA:= %00001111;
// INIT PULLUP
PORTA:= %00001111;
Aber Warum, das sollte doch eigentlich das gleiche sein oder ?!?!
Oder habe ich was übersehen?
AVRco 5.02
Gruss
Thorsten