Guten Morgen liebe Community,
Ich habe heute schon lange versucht herauszufinden wie es den möglich
sei, einen Schalter der mit GND und einem Pin des ATmegas verbunden ist,
auf seinen Zustand hin "abzufragen"
(geschlossen, also Pin ist Low, oder offen, Pin ist High).
Schaltplan im Anhang:)
Hierzu kam mir folgende Idee:
1 | DDRC = 0x00; // Gesamter PORTC als Ausgang.
|
2 | PORTC = 0xff; // Interne Pull up's an.
|
Nun noch eine Methode die für den Anfang mal nur PC0 auswerten soll.
1 | int DMXStartadresse()
|
2 | {
|
3 |
|
4 | volatile uint8_t y;
|
5 |
|
6 | if( PD0 == 1 )
|
7 | {
|
8 | y=1;
|
9 | }
|
10 | if( PD0 == 0 )
|
11 | {
|
12 | y=2;
|
13 | }
|
14 |
|
15 | retourn y;
|
16 | }
|
Diese Methode wird nun bei jedem neuen Schleifendurchlauf des
Hauptprogrammes aufgerufen. Leider funktioniert das Ganze nicht richtig.
Ich währe für eine kleine Erklärung sehr dankbar :)