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:
Code:
typedef
{
...
} servo_t;
void servo_func (int n_servos, servo_t * servos);
In servo_func arbeitet man alle Servos ab, fährt zB alls synchron von A nach B oder so.
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);
Lesezeichen