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: drehimpulsgeber Kategorie: C-Control I V1.2/2.0 (von chuckie - 17.01.2008 9:48)
 Als Antwort auf Re: drehimpulsgeber von chuckie - 17.01.2008 9:45
chuckie nutzt:  CC1-M-Unit V1.2/2.0
> > > also ich hab ein neues programm geschrieben jedoch bleib die unit wenn ich etwas schneller drehe hängen woran liegt des kann mir des jmd sagen...
> > >
> > > #set
> > >
> > > if (a xor b) then
> > > goto set
> > > else
> > > aset=a
> > > bset=b
> > > goto loop
> > > end if
> > >
> > > goto set
> >
> > Hallo,
> >
> > Du hast das Programm geschrieben und dadurch ist Dir die Funktion in jeder Zeile bekannt.
> > Diese Information gibst Du uns nicht. Wir sollen uns zeitaufwändig abmühen.
> > Wenn Du die Zeilen kommentierst, wird es auch fĂĽr Dich klarer und oft findet man so Fehler.
> >
> ne diesen schritt machen ich um den zustand zu speichern 00 oder 11
>
> > Mir scheinen die Rücksprünge (Schleifen) "goto set" verdächtig.
> > Wenn a und b beide ON sind oder beide OFF sind, bleibt das Programm inder Schleife.(?)
> >
> > MfG ManfredW
>
>                                                                                                
> als link hab ich mal das datenblatt eingefĂĽhgt
>
> also hier ist es was besser beschrieben
>
>
> define taste1      port[5]
> define a      port[4]
> define b      port[3]
> define set       byte[3]
> define aset        bit[4]
> define bset        bit[5]
> define nu          word[1]  
>
> nu=0
>
> aset=a
> bset=b
>
> lcd.init
> #loop
>
>
>
> lcd.pos 1,4
> lcd.print nu
>
> if (a xor aset) xor (b xor bset) then     'vergleich den eingängen a/b und den gesetzten zuständen
> goto wahl                                 'wenn ungleich dann gehe zu wahl
> else
> goto loop
> end if
>
>
> goto loop
>
> #wahl                                      ' von welchen zustand gewechselt ( 11 oder 00)
> if (aset=on) and (bset=on) then            'wenn gesetzte zustand 11 war gehe zu eins
> 'goto set
> goto eins
> end if
>
> if (aset=off) and (bset=off) then             'wenn gesetzte zustand 00 war gehe zu null
> 'goto set
> goto null
> end if
>
> goto loop
>
>
>
> #null
> if (a=off)and(b=on) then                    'erkennen in welche richtung in dem fall ccw (links)
> nu=nu-1                                    ' nu wert um ein verinngern
> goto set
> end if
>
> if (a=on)and(b=off) then                    'erkennen in welche richtung in dem fall cw (rechts)
> nu=nu+1                                    ' nu wert um eins erhöhen
> goto set
> end if
> goto null
>
> #eins
> if (a=off)and(b=on) then            'erkennen in welche richtung in dem fall cw (rechts)
> nu=nu+1                                ' nu wert um eins erhöhen
> goto set
> end if
>
> if (a=on)and(b=off) then            'erkennen in welche richtung in dem fall ccw (links)
> nu=nu-1                                ' nu wert um ein verinngern
> goto set
> end if
> goto eins
>
> #set
>
> if (a xor b) then                    'wenn eingang a und b nicht gleichsind gehe zu set
> goto set
> else                                    'wenn gleich sind die zustände speichern ( 00  oder 11)
> aset=a
> bset=b
> goto loop
> end if
>
> goto set

 Antwort schreiben

Bisherige Antworten:

Re: drehimpulsgeber (von ManfredW - 17.01.2008 15:32)
Re: drehimpulsgeber (von ManfredW - 17.01.2008 15:12)
    Re: drehimpulsgeber (von chuckie - 18.01.2008 15:56)