Hallo zusammen!
Hab mir das STK500 zugelegt und will damit einen ATtiny13 programmieren.
Ein paar Lämpchen leuchten lassen funktioniert schon wunderbar nach den
ersten "Gehversuchen". Wenn ich aber eine LED auf einen Tastendruck hin
einschalten will funktioniert es nicht, weil der Tastendruck gar nicht
erkannt wird. Hab das DDR richtig gesetzt, hab die internen pull-ups
ausgeschaltet, da diese bei diesen Tastern nicht notwendig sind (sofern
ich das richig aus dem Manual laut Taster-Schaltung gelesen habe) und
frag auch nicht das Port sonder direkt den Pin ab.
Hier der Code:
1 | #include <avr/io.h>
|
2 |
|
3 | int main (void) {
|
4 |
|
5 | DDRB = 0xFF; //erstmal alles auf Ausgang
|
6 | DDRB &= ~(1<<DDB4); //dann einen auf Eingang
|
7 |
|
8 | PORTB &= (0<<PB0) & (0<<PB2) & (0<<PB3);
|
9 | PORTB &= ~(1<<PB4);
|
10 |
|
11 | while(1)
|
12 | {
|
13 | if(PINB & (1<<PINB4)) //wenn Taste gedrückt
|
14 | {
|
15 | PORTB |= (1<<PB1); //LED einschalten
|
16 | }
|
17 | }
|
18 |
|
19 | return 0;
|
20 | }
|
Ist dieser Code fehlerhaft?
Danke schon mal für eure Antworten...
Lg Andi