PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DigitalPort spinnt???



TillHoffmann
04.09.2004, 16:58
Ich hab diesen Quelltext geschrieben:


int main ()
{
outp(0xFF, DDRC);
cbi(PORTC, 0);
cbi(PORTC, 1);
cbi(PORTC, 2);
cbi(PORTC, 3);

cbi(PORTC, 4);
cbi(PORTC, 5);
cbi(PORTC, 6);
cbi(PORTC, 7);
while(1);
}

Ich benutze einen Atmega16 und als Kompiler avr-gcc.exe und avr-objcopy.exe

Naja, der Port ist aber nicht 0x00 sondern 0x34

Pascal
04.09.2004, 17:34
kannst du das überhaupt kompilieren??
hast du #include <io.h> im code stehen und es nicht reinkopiert, oder hast du es vergessen?
ohne dürfte es nämlich nicht gehen
schreib das, wenn noch nicht geschehen, ganz an den Anfang des Programms(außerhalb von main())

04.09.2004, 17:40
Ich hab die avr/io.h schon drin.
Übrigens:
An Port B funktioniert es.:(

04.09.2004, 17:55
An Allen Ports außer C geht es. Warum???? *heul*

Pascal
04.09.2004, 17:58
warum machst du es dann nicht einfach an PORTC hin, oder geht das aus nem anderen Grund nicht?
was soll das eigentlich machen? was für ne hardware ist an den Port angeschlossen?

04.09.2004, 18:57
Hat der ATMega16 ein JTAG?
Dann müsstest du dieses in den Fusebits deaktivieren.

Kjion
06.09.2004, 10:52
Ja, ATMega16 hat JTAG an PORTC ;-) Also mal das JTAGEN Fusebit deaktivieren ...

Übrigens ein sehr beliebter Fehler ;-)

MfG Kjion

TillHoffmann
06.09.2004, 15:01
Danke, funktioniert :-)