Hi,
ich habe an meinem ATMega32 an PortA 8 LEDs und an PortC 4 LEDs (an PC0,
PC1, PC2, PC3). JTAG ist deaktiviert.
An PortB hängt ein LCD (HD44780), das funktioniert problemlos. Ich
denke, das ist für das Problem nicht relevant.
Meine Schaltung betreibe ich über das ATMEL Evaluations-Board 2.0 über
das IDE-Kabel (J4) auf meinem Steckbrett.
Mein Testcode sieht so aus:
1 | int main(void)
|
2 | {
|
3 | DDRA = 0xFF;
|
4 | DDRB = 0xFF;
|
5 | DDRC = 0xFF;
|
6 | DDRD = 0b11100000;
|
7 |
|
8 | PORTA = 0xFF;
|
9 | PORTC = 0xFF;
|
10 | while(1) {}
|
11 | return 0;
|
12 | }
|
Das funktioniert, alle LEDs leuchten und an allen Pins liegen ~5V an.
Schalte ich jetzt PortC komplett aus, habe ich schon das erste seltsame
Verhalten.
1 | DDRA = 0xFF;
|
2 | DDRB = 0xFF;
|
3 | DDRC = 0xFF;
|
4 | DDRD = 0b11100000;
|
5 |
|
6 | PORTA = 0xFF;
|
7 | PORTC = 0x00;
|
An PortC leuchtet jetzt wie erwartet nichts mehr, allerdings sind auch
PA4 und PA5 betroffen. Diese leuchten nur noch ganz schwach (es liegen
etwa 2.5V an)
Nächster Test: PortA komplett aus, PORTC komplett an.
1 | DDRA = 0xFF;
|
2 | DDRB = 0xFF;
|
3 | DDRC = 0xFF;
|
4 | DDRD = 0b11100000;
|
5 |
|
6 | PORTA = 0x00;
|
7 | PORTC = 0xFF;
|
Jetzt leuchten ausschließlich die hintern 2 LEDs an PortC (PC2 + PC3).
PortA scheint aus zu sein, doch das trügt. Denn PA4 und PA5 erhalten
etwa 2,3V => LEDs leuchten ganz schwach.
Ich habe vorher ein einfaches Lauflicht an PORTA betrieben und auch
damit festgestellt, dass es irgendwelche Zusammenhänge zw. PA4/PA5 und
PC2/PC3 geben muss. Die haben immer gleichzeitig geleichtet (PA4 + PC2
und PA5 + PC3)
Leider weiß ich jetzt nicht mehr weiter. Habt ihr eine Idee? Ist mein
Controller kaputt?
MfG
Simon