Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Schalterstellung testen Kategorie: Programmierung C (von Jan - 21.04.2013 18:08)
Als Antwort auf Schalterstellung testen von Jenny - 21.04.2013 16:40
Ich nutze:
C-Control Pro Mega128, CC-Pro 128 Application Board
> Hallo,
>
> ich versuche mit dem Application Board eine kleine Messschaltung zu steuern.
> Dazu würde ich gerne als erstes testen, ob zwei Schalter in der richtigen Position (offen/zu) sind.
> Leider bekomme ich mit meinem Code aber immer das gleiche Ergebnis, nämlich Schalter "ok", hier mein Code:
>
> //TEST: SCHALTER IN NULL-STELLUNG?
>     Port_DataDirBit(17,0);                  //PORT PC0 ALS EINGANG DEF.
>     if(Port_ReadBit(17)==1)
>     {
>         Msg_WriteText("Schalter OK");
>     }else Msg_WriteText("Schalter falsche Position");
>
> Kann mir jmd. einen Tipp geben, was ich falsch mache? Hatte vermutet, dass mir ReadBit eine 1 liefert,
> wenn der Schalter geschlossen ist ?? Ich will die Ports des SRAM für meine Zwecke nutzen (wenn das ok ist ?!)
>
> Viele Grüße

Hallo Jenny,

Du solltest mit PortWriteBit(17,1) nach dem Def. als Eingang den Pullup- Widerstand einschalten.
Der PortBit liegt jetzt gegen VCC und die Abfrage ergibt '1'.
Die Schalter liegen an GND. Durch Schließen eines Schalters wird der Eingang gegen GND gezogen und
die Abfrage ergibt jetzt '0'. Die Bedingung in Deinem Beispiel ist also bei geöffnetem Schalter
wahr.
Wenn Du die Ports C und A für Deine Zwecke verwenden möchtest und das SRAM nicht benötigst, musst
Jumper JP7 nach links umstecken. Dann ist das ok.

Grüße, Jan


    Antwort schreiben


Antworten:

Re: Schalterstellung testen (von Jenny - 21.04.2013 19:18)