Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > > kommando zurück - logikfehler entdeckt... > > > > > > herausgefunden: port_on und port_off arbeiten genau anders herum, als ich erwartet hatte. > > > bin jetzt ich blöd oder isses einfach reziprok logisch? > > > > > > ps: korrekte impulsdauern sind bei dem servo-modell scheints 0,5ms - 1,25ms - 2,0ms für -90°, 0°, 90° > > > bei periodendauer 20ms. > > > > > > > ich fühl mich grad ein klein wenig blöd... ich find meinen denkfehler nicht. vom kratzen hab ich inzwischen > > > > eine glatze. > > > > > > > > ich habe einen modelcraft rs-2 servo angeschlossen an meinem c-control pro 128 app. board > > > > (rot an +5v, braun an masse, orange an port c.0) > > > > > > > > ich wollte jetzt einfach mal den servo von links nach rechts fahren lassen und zurück in einer endlosschleife. > > > > das ganze funktioniert nicht, der servo zuckt nur gelegentlich hin und her, tut aber nicht, was er soll. > > > > nur finde ich leider den denkfehler nicht und kann meinen scheinbar fehlerhaften code nicht korrigieren. > > > > kann mir einer sagen, wo hier der fehler liegt? > > > > > > > > Dim zaehler As Integer > > > > > > > > Sub main() > > > > Port_DataDirBit(16,PORT_OUT) > > > > > > > > Do While (True) > > > > links() > > > > rechts() > > > > End While > > > > > > > > End Sub > > > > > > > > Sub links() > > > > zaehler = 0 > > > > Do While (zaehler < 51) > > > > zaehler = zaehler + 1 > > > > Port_WriteBit(16,PORT_ON) > > > > AbsDelay(1) > > > > Port_WriteBit(16,PORT_OFF) > > > > AbsDelay(19) > > > > End While > > > > End Sub > > > > > > > > Sub rechts() > > > > zaehler = 0 > > > > Do While (zaehler < 51) > > > > zaehler = zaehler + 1 > > > > Port_WriteBit(16,PORT_ON) > > > > AbsDelay(2) > > > > Port_WriteBit(16,PORT_OFF) > > > > AbsDelay(18) > > > > End While > > > > End Sub > > > > > > > > ps: der motor funktioniert, mit einem heruntergeladenen demo-programm funktioniert er zwar zittrig, > > > > aber ansonsten tadellos. > > > > Hi, > > > > probier doch mal die eingebaute Servo Funktion aus. > > > > Bsp: > > > > // Ansteuerung von 3 Servos und beenden nach 10 Sek. > > void main(void) > > > > { > > byte servo_var[30]; // Servo interne Variablen > > > > // Max. 10 Servos, 20ms Intervall, Timer 3 > > Servo_Init(10, 1, servo_var, 1); > > > > Servo_Set(7, 2000); // Servo Portbit 7 2000µs > > Servo_Set(6, 1800); // Servo Portbit 6 1800µs > > Servo_Set(5, 1600); // Servo Portbit 5 1600µs > > > > AbsDelay(5000); > > > > Servo_Set(7, 1000); // Servo Portbit 7 1000µs > > > > AbsDelay(5000); > > > > Servo_Set(7, 0); // alle Servos aus > > Servo_Set(6, 0); > > Servo_Set(5, 0); > > } > > > > In der Hilfe findest du mehr dazu (IDE Hilfe). > > > > > > Grüße Ulli > > > > aye ulli, > > heissen dank für den tip! da sind ja sachen in der intfunc_lib, die im handbuch nicht drinstehen - das > wird die angelegenheit garantiert wesentlich erleichtern! > > sobald ich mich mit interrupt auseinandergesetzt hab, werd ich mir das genauer ansehen! > > grüsse zurück michl > > ps: die billig-ansteuerung, die ich da zusammengestöpselt hab, war hauptsächlich zu dem zweck, > mal einem motor bei der bewegung zuzuschauen, sozusagen als "juhuu, es bewegt sich"-erlebnis ;) > man tastet sich halt langsam vorwärts.