ATXmega32 PortC problem

OP #3534446
Lesenswert?

Hallo

Meine Ausganssituation:
Ich habe ein controller board (ribu versand) mit einem atxmega32 darauf. 
Das ganze wird per usb und bootloader programmiert.
Ich habe nun Port A, B und C als Ausgänge definiert und alle auf low 
gesetzt und trotzdem habe ich an PortC Pin 3 immer high.

PORTD.DIR=0xFF;
PORTD.OUT=0x00;
PORTA.DIR=0xFF;
PORTA.OUT=0x00;
PORTC.DIR=0xFF;
PORTC.OUT=0x00;

Was ich auch versuche, Pin3 an PortC bleibt high.
Kann mir da jemand weiterhelfen?
#3534621
Lesenswert?

Philipp S. schrieb:
> da muss es doch noch eine andere möglichkeit geben

Solange der 232 seine Arbeit verrichtet, wird er den Pegel bestimmen. 
Der arme AVR kommt da nicht gegen an.

Du könntest in die Leitung zwischen AVR und 232 einen Widerstand von 
z.B. 4K7 setzen. Wenn dann PC3 auf Eingang steht (Bootlader), bestimmt 
der 232 den Pegel. Wenn PC3 als Ausgang arbeitet, begrenzt der 
Widerstand den Strom zum Ausgang des 232, falls sich beide nicht einig 
sind über den Pegel.
#3537001
Lesenswert?

Hallo,

wenn da ein Bootloader drauf ist, dann schaltet der den UARTC0 ein, 
dessen TX-Pin an PC3 liegt. Offenbar wird der UART bei verlassen des 
Bootloaders nicht wieder deaktiviert und PC3 bleibt immer H.
Schalte ihn am Anfang deines Programms aus (UARTC0.CTRLB = 0), oder 
korrigiere den Bootloader.

Sascha

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