Hallo liebe Mikrocontroller Freunde,
ich habe eine Frage.
Ich versuche grade mit einem ATmega 128 ein digitalen Eingang
einzulesen.
Folgende Syntax wird verwendet:
1 | DDRC=0x00; // PORTC als Eingang festlegen
|
2 |
|
3 | while(1) {
|
4 |
|
5 | if (PINC & (1 << PC0))
|
6 | {
|
7 | lcd_setcursor( 0, 1 );
|
8 | lcd_string("Motor: I");
|
9 | }
|
10 | else
|
11 | {
|
12 | lcd_setcursor( 0, 1 );
|
13 | lcd_string("Motor: 0");
|
14 | }
|
15 |
|
16 | }
|
Ich habe die PINs von PORTC (PIN0,PIN1,PIN3) an den analogen Pegel von
den Kippschaltern anliegen. Ich versuche per Abfrage den Zustand zu
prüfen und möchte dann in meinem programmierten LC-Display diese
Information 0/1 anzeigen.
Bei meinem ATxmega funktioniert das einwandfrei!
mit folgender Eingabe:
1 | Motor_EN = PORTE.IN & 0x01; // Motor Enable PIN0 PORTE
|
2 | Motor_Richtung = PORTE.IN & 0x02; // Motor Richtung PIN1 PORTE
|
Danke im voraus