Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: DIP-Schalter an Port 1, 2, 5 Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Martin - 3.04.2015 17:36)
 Als Antwort auf Re: DIP-Schalter an Port 1, 2, 5 von Jens - 3.04.2015 10:20
Martin nutzt:  Open-Mini
Hallo Jens!

ich habe eine Mini mit 16 Pins.
Der Port ist über DIP oder Jumper mit GND verbunden.

Mein Programm sieht so aus:

DEFINE J1           PORT[1] 'AD PORT
DEFINE J2           PORT[2] 'AD PORT
DEFINE J3           PORT[5] 'AD PORT

' --- ABFRAGE JUMPER / DIPSCHALTER ------------------------------------------
IF J1 = ON  AND J2 = ON  AND J3 = ON  THEN GOTO STUFE000
IF J1 = OFF AND J2 = ON  AND J3 = ON  THEN GOTO STUFE100
IF J1 = ON  AND J2 = OFF AND J3 = ON  THEN GOTO STUFE010
IF J1 = ON  AND J2 = ON  AND J3 = OFF THEN GOTO STUFE001

#STUNFE000
Programm...
GOTO STUFE000

#STUNFE100
Programm...
GOTO STUFE100

#STUNFE010
Programm...
GOTO STUFE010

#STUNFE001
Programm...
GOTO STUFE001


Problem:
Stufe 000, 100 und 010 funktionieren.
Alle Stufen ab 001... gehen nicht und der Micro bleibt hängen.

Was ist mein Fehler?

LG
Martin





> Hallo Martin!
>
> Anbei mal ein Lösungsansatz, getestet mit der Open-Micro. Mit dem DIP-Schalter an Port[3] wirst Du Probleme bekommen, das wird so nicht funktionieren, hier musst Du einen anderen Port verwenden.
>
> JG Jens
>
>
> ' --- Betriebssystem konfigurieren -----------------------------------------------------
> include "om10.inc"          ' Betriebssystem Daten laden
> RunOnErr = on               ' bei Fehler Programm neustarten (Fehler in ERR)
>
> ' --- definition der Ports --------------------------------------------------
> define RS232      Port[1]   ' Serielle Schnittstelle
> define Dip1       Port[2]   ' Dip1
> define Dip2       Port[4]   ' Dip2
> define Dip3       Port[5]   ' Dip3
>
> ' --- definition der Variablen ----------------------------------------------
> define PrgMode    Byte[1]   ' Programmverzweigung
> DEFINE Bit0       Bit[1]    ' Bit0 vom Byte PrgMode
> DEFINE Bit1       Bit[2]    ' Bit1 vom Byte PrgMode
> DEFINE Bit2       Bit[3]    ' Bit2 vom Byte PrgMode
>
> ' ---------------------------------------------------------------------------
> ' --- Hauptprogramm ---------------------------------------------------------
> ' ---------------------------------------------------------------------------
> print "Progtramm gestartet..." ' Textausgabe
> #Loop
>    Gosub DipAbfrage         ' Dip-Schalter abfragen
>    Print "Mode = ";PrgMode  ' Textausgabe
>    Pause 50                 ' 1 Sekunde warten
> Goto Loop
> End
>
> #DipAbfrage
>    PrgMode = 0                   ' Reset - alle Bits löschen
>    if (not Dip1) Then Bit0 = ON  ' Bit0 setzen
>    if (not Dip2) Then Bit1 = ON  ' Bit1 setzen
>    if (not Dip3) Then Bit2 = ON  ' Bit2 setzen
> return

 Antwort schreiben

Bisherige Antworten:

Re: DIP-Schalter an Port 1, 2, 5 (von Martin - 3.04.2015 17:50)