Forum: Mikrocontroller und Digitale Elektronik ATmega32, PC2 bis PC5 funktionieren nicht!?


von Jakob R. (Gast)


Lesenswert?

Guten Tag,

ich habe Probleme mit meinem ATmega 32 resp. mit dessen PORTC.
Nun die Pins 3 bis 5 funktionieren weder als Ausgänge noch als Eingänge.
Hardware Probleme sind auszuschliessen, Taster und LEDs wurden korrekt 
angeschlossen und getestete an den anderen PORTs welche i.O. sind.

Hat jemand eine Ahnung was das Problem sein könnte?


Programm PORTC als Eingang:
1
#define F_CPU 16000000L
2
#include <avr/io.h>
3
//#include <util/delay.h>
4
//#include <avr/interrupt.h> 
5
6
//#define setbit(Adresse, Bit) (Adresse |= (1<<Bit))
7
//#define clearbit(Adresse, Bit) (Adresse &= ~(1<<Bit))
8
//#define checkbit(Adresse, Bit) (Adresse & (1<<Bit))
9
10
int main(void){
11
12
13
DDRA=0xFF;   // Output
14
DDRB=0xFF;   // Output
15
DDRC=0;   // input
16
DDRD=0xFF;   // Output
17
18
PORTA=0xFF;
19
PORTB=0xFF;
20
PORTC=0;
21
PORTD=0xFF;
22
23
while(1){
24
  PORTB=PINC;
25
  }
26
27
return 0;
28
}



Programm PORTC als Ausgang:
1
#define F_CPU 16000000L
2
#include <avr/io.h>
3
//#include <util/delay.h>
4
//#include <avr/interrupt.h> 
5
6
//#define setbit(Adresse, Bit) (Adresse |= (1<<Bit))
7
//#define clearbit(Adresse, Bit) (Adresse &= ~(1<<Bit))
8
//#define checkbit(Adresse, Bit) (Adresse & (1<<Bit))
9
10
int main(void){
11
12
13
DDRA=0xFF;   // Output
14
DDRB=0xFF;   // Output
15
DDRC=0xFF;   // Outup
16
DDRD=0xFF;   // Output
17
18
PORTA=0xFF;
19
PORTB=0xFF;
20
PORTC=0xFF;
21
PORTD=0xFF;
22
23
while(1){}
24
25
return 0;
26
}

von Karl H. (kbuchegg)


Lesenswert?

JTAG ausgeschaltet?

von SD-Fritze (Gast)


Lesenswert?

Hi,

hast du JTAG abgeschaltet?

Gruß,
SD-Fritze

von Jakob R. (Gast)


Lesenswert?

nein... was macht das JTAG? (ich bin noch Anfänger ;) )

von Karl H. (kbuchegg)


Lesenswert?

Ist eine alternative Programmier/Debug Schnittstelle auf dem Chip.
Per Default ist sie eingeschaltet, so dass die Portpins ihre normale 
Funktion nicht erfüllen können.

Es gibt eine Fuse dafür, um das abzuschalten.

von Hc Z. (mizch)


Lesenswert?

{c]
if (Mega 32, Beschwerde über Port C Bit 2..5) {
  answer("Wie steht die JTAG-Fuse?")
}

von Jakob R. (Gast)


Lesenswert?

hm sehr schön, war tatsächlich wegen dem JTAG, was auch immer das 
macht..

vielen herzlichen Dank!!!

Grüsse Jakob

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> was macht das JTAG?
JTAG ist u.a. eine Programmier- und Debug-Schnittstelle. Die braucht die 
Pins vom Port C. Du mußt also die entsprechende Fuse beim Programmieren 
ausschalten, wenn du die Ports für was anderes brauchst...

von Jakob R. (Gast)


Lesenswert?

ach so ist das mit dem JTAG... super, danke, jetzt funktionierts 
bestens..

wünsche einen schönen Tag noch :)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.