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 | }
|