Re: Blinkprogramm für c-control ministation Kategorie: Programmierung C (von ManfredP - 11.01.2011 7:31) | ||
Als Antwort auf Re: Blinkprogramm für c-control ministation von ManfredP - 10.01.2011 18:46 | ||
| ||
> > > Hallo! > > > > > > ich würde ein blinkprogramm für meine c-control pro ministation > > > brauchen! > > > > > > das blinken soll durchen einen taster am input1 gestartet werden! > > > > > > dann soll eine led am output1 2 mal hintereinander zeitverzögert > > > aufleuchten. dann das gleiche noch mal am output2. und dann immer weiter > > > und weiter bis der taster am input1 erneut gedrückt wird. > > > > > > danke schon mal für die hilfe! > > > > > > > > > gru� chris > > > > > > Hallo Chris, > > > > ich sende dir mal was in Basic!! ist aber NICHT getestet!!!! > > Die Eingänge und Ausgänge müssen noch angegeben werden. > > Prog ist nur eine Möglichkeit und erhebt keinen hohen Anspruch ;-) > > Ich hoffe es hilft Dir beim übersetzen in C > > > > Viel Spass > > Manfred > > > > > > > > Dim bAnzTaster As Byte ' Anzahl Taster > > Dim bAktuellerTaster As Byte ' aktuell abgefragter Taster > > Dim bOn As Byte ' Wert für Taster betätigt > > Dim iX As Integer ' Differenz des ersten Eingang zum ersten Ausgang > > Dim iZaehler As Integer ' Zähler für die For-Schleife > > Dim wZeitverzoegerung As Word ' Wert in ms > > Dim Dummy As Byte > > > > Sub main() > > ' > > ' ungetestet!!!! > > ' > > ' Eine mögliche Variante in Basic > > ' Taster werden nacheinander abgefragt und dann entsprechend der Ausgang gesetzt > > ' Ich kenne den Prozessor nicht! > > ' > > ' EING�NGE für Dummy die entsprechende Werte der Eingänge die benutzt werden eintragen!! > > Port_DataDirBit(Dummy,0) ' Port Bit Input > > Port_WriteBit(Dummy,1) ' Set PULLAB > > Port_DataDirBit(Dummy,0) ' Port Bit Input > > Port_WriteBit(Dummy,1) ' Set PULLAB > > Port_DataDirBit(Dummy,0) ' Port Bit Input > > Port_WriteBit(Dummy,1) ' Set PULLAB > > ' Anzahl nach Bedarf erweitern > > ' > > 'Ausgänge für Dummy die entsprechende Werte der Ausgänge die benutzt werden eintragen!! > > Port_DataDirBit(Dummy,1)' Port Bit Output > > Port_DataDirBit(Dummy,1)' Port Bit Output > > Port_DataDirBit(Dummy,1)' Port Bit Output > > ' Anzahl nach Bedarf erweitern > > ' > > bAnzTaster = 3 ' genaue Anzahl angeben! > > bOn = 0 ' prüfen ob 1 oder 0 kommt wenn Taster gedrückt ist - ich denke es kommt 0 > > bAktuellerTaster = 1 ' mit diesem Taster wird begonnen > > iX = 0 ' Differenz des ersten Eingang zum ersten Ausgang > > wZeitverzoegerung = 1000 ' Wert in 1000ms > > ' > > Do While 1 > > ' > > If bAktuellerTaster = bOn Then > > For iZaehler = 1 To 4 > > Port_ToggleBit(bAktuellerTaster+iX) > > AbsDelay(wZeitverzoegerung) > > Next > ' > > If bAktuellerTaster = bAnzTaster Then > > bAktuellerTaster = 1 > > Else > > bAktuellerTaster++ > > End If > > > End If > > ' > > ' > > End While > > > > > > > > End Sub > > Upp' s da war schon die erste Macke drin > > Ich hoffe das war's > > Gru�, Manfred Man sollte den Eingang auch abfragen... bAnzTaster = 3 ' genaue Anzahl angeben! bOn = 0 ' prüfen ob 1 oder 0 kommt wenn Taster gedrückt ist - ich denke es kommt 0 bAktuellerTaster = 1 ' Nummer des Eingang - mit diesem Taster wird begonnen iX = 0 ' Differenz des ersten Eingang zum ersten Ausgang wZeitverzoegerung = 1000 ' Wert in 1000ms ' Do While 1 ' Endlosschleife ' If Port_ReadBit(bAktuellerTaster) = bOn Then For iZaehler = 1 To 4 Port_ToggleBit(bAktuellerTaster+iX) AbsDelay(wZeitverzoegerung) Next ' If bAktuellerTaster = bAnzTaster Then bAktuellerTaster = 1 Else bAktuellerTaster++ End If End If End While Gruss Manfred | ||
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum