Ich verstehe nicht, warum hier überladene Funktionen gebraucht werden, auch varargs schein hier überdosiert.
1. Wenn ein Anwender 3 Servos ansteuern will, kann er zB eine Servo-FUnktion 3x aufrufen
2. Besser ist hier wohl: Der Anwender ruft die Funktion mit der Anzahl der Servos auf und liefert ein Array mit Servo-Daten mit:
In servo_func arbeitet man alle Servos ab, fährt zB alls synchron von A nach B oder so.Code:typedef { ... } servo_t; void servo_func (int n_servos, servo_t * servos);
Zudem kann man die Anzahl der Servos in der Endanwendung immer als Konstante annehmen.
Code:#include "servo.h" servo_t serv[] = { [0] = { ...}, [1] = { ...}, ... }; ... servo_func (sizeof (serv) / sizeof (serv[0]), serv);







Zitieren

Lesezeichen