Forum: Mikrocontroller und Digitale Elektronik bascom case befehle


von Tim B. (Firma: Privat) (tim97)


Lesenswert?

Hallo zusammen
wollte über einen casebefehl einen sevo steuern aber irgendwie 
funktioniert das nicht richtig, weil er sich nicht bewegt (nur in die 
startposition).


$regfile = "m8def.dat"
$crystal = 1000000
$baud = 2400


Config Portc.0 = Output
Config Portd = Input


Config Servos = 1 , Servo1 = Portc.0 , Reload = 10

Enable Interrupts

Dim Winkel As Byte

Winkel = 15
Servo(1) = Winkel



Dim Empfangen As String * 255


Do


 Empfangen = " "

Input Empfangen

Select Case Empfangen

Case "0"
Winkel = 22



Case "1"
Winkel = 18


End Select


Loop


End



kann mir bitte einer helfen ?
danke

von am (Gast)


Lesenswert?

In Deiner Do-Loop Schleife wird kein einziger Steuerbefehl an das Servo 
ausgegeben. Es werden nur die Eingaben ausgewertet (Case) und die Werte 
18 oder 22 an die Variable Winkel zugewiesen.

Du musst noch "Servo(1) = Winkel" nach der der Zuweisung der Werte an 
die Variable einfügen sonst weiß die Funktion Servo(n) = wert ja nicht 
dass Du was geändert hast.

von Weingut P. (weinbauer)


Lesenswert?

Stringvergleiche sind so ziemlich die schlechteste Variante ...
aber was solls ...

wo wird denn Dein Servo neu gesetzt in der Mainloop??

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.