Guten Mittag zusammen,
ich bin relativ blutiger Anfänger in der Mikrocontroller-Programmierung.
Ich bin gerade dabei, eine einfache LED so lange anzuschalten, wie ein
Schalter gedrückt ist. Das ganze funktioniert auch, allerdings bleibt
die LED nach dem "Loslassen" des Buttons noch einige Sekunden (~5)
angeschaltet, bis sie schließlich aus geht. Per Suchmaschine habe ich
dazu keine wirklich passenden Lösungen gefunden - ich hatte "als erstes
Projekt" in der Vergangenheit auch eine Siebensegmentanzeige
angesteuert, damals wurde "sofort" umgeschalten, als ein Schalter nicht
mehr gedrückt war.
1 | #include <avr/io.h>
|
2 | #include <stdlib.h>
|
3 |
|
4 | int main(){
|
5 | DDRB = 0x00;
|
6 |
|
7 | PORTC = 0xFF;
|
8 | DDRC = 0xFF;
|
9 |
|
10 | while(1)
|
11 | {
|
12 | if(PINB & (1<<PINB0) ){
|
13 | PORTC = 0x00;
|
14 | }
|
15 | else{
|
16 | PORTC = 0xFF;
|
17 |
|
18 | }
|
19 | }
|
20 |
|
21 | return 1;
|
22 | }
|
Atmega 328P, als Entwicklungsboard nutze ich einen Arduino Uno (ohne
Arudino-Laster) mit USBasp-Programmer und Eclipse.