Hi!
Ich bin blutiger Anfänger was µC Programmierung angeht und ich weiß
nicht so recht was ich in der Suche bezüglich meines Problems eingeben
muss von daher habe ich einen neuen Thread eröffnet.
Ich nutze ein Atmel STK500 Entwicklungskit zusammen mit einem ATmega16.
Ich wollte mit einfachen Dingen anfangen wie z.B. LEDs zum leuchte zu
bringen und da habe ich schon das erste Problem was ich nicht verstehe.
Und zwar habe ich folgen C Code im AVR Studio 4 geschrieben:
1 | #include <avr/io.h>
|
2 |
|
3 | int main (void) {
|
4 |
|
5 | DDRA = 0x00; //Port A als Eingang
|
6 | DDRB = 0xFF; //Port B als Ausgang
|
7 |
|
8 | PORTB = 0x00; //Alle LEDs aus
|
9 |
|
10 | while(1){
|
11 |
|
12 | }//Endlos while
|
13 |
|
14 | return 0;
|
15 |
|
16 | }//main
|
Wie der Kommentar bei PORTB = 0x00; schon sagt habe ich für mein
Verständnis die Ausgänge am Port B alle auf 0 gesetzt also low und somit
sollten alle LEDs aus sein. Aber genau das Gegenteil ist der Fall alle
LEDs sind an. Habe ich es falsch verstanden und eine 0 bedeutet eine 1
am Ausgang? Irgendwie verwirrend denn ich erwarte ein ganz anderen
Verhalten.
PORTB = 0x03; sollte z.B. die LED1 (am Pin PB0) und LED2 (am Pin
PB1)leuchte lassen aber auch hier ist es umgekehrt.
Kann mir jemand vielleicht auf die Sprünge helfen?
Vielen Dank schon mal.