Hallo
Leider nicht. Ich habe mich bisher nur durch die ersten Zeilen durchgekämpft, aber wirklich überzeugen kann mich das noch nicht:Ich hoffe ich kann mit dieser Lib auch radbruch überzeugen
- Servostellzeit muss abhängig vom Verstellweg der Servos sein.
- delay() ist blockierend, nicht konstant schnell.
- das funktioniert wohl nicht:
- das funktioniert sicher nicht:Code:#define STELLZEITSERVOS 30 while(STELLZEITSERVOS--)
uswusw.Code:_delay_ms(1/SERVOMAX);
Mit diesem Testprogramm erhalte ich über 800 Fehler beim Kompilieren:
Muss ich alle 20 Servos definieren? delay.c befindet sich im Verzeichniss util....Code:include "servos-Pr0gm4n-1.c" //z.B. #define SERVOREGISTER DDRA #define SERVOREGISTER1 DDRA //#define SERVOREGISTER2 //#define SERVOREGISTER3 //#define SERVOREGISTER4 //#define SERVOREGISTER5 ... (bis 20) //z.B. #define SERVOPORT PORTA #define SERVOPORT1 PORTA //#define SERVOPORT2 //#define SERVOPORT3 //#define SERVOPORT4 //#define SERVOPORT5 ... (bis 20) //z.B. #define SERVOBIT 0 #define SERVOBIT1 0 //#define SERVOBIT2 //#define SERVOBIT3 //#define SERVOBIT4 //#define SERVOBIT5 ... (bis 20) #define SERVOMAX 180 int main(void) { return(0); }
...schreibt sich seine eigenen Routinen und vor allem seine eigenen Verzögerungsschleifen und verzichtet auf delay.cjemand, der mit einem ATMega8 20 Servos ansteuert...
Gruß
mic







Zitieren

Lesezeichen