Hallo Paolo,
... ,Dirk mit deinem Demo Programm komme ich leider noch nicht ganz klar. Ich habe da immer wieder Fehler Meldungen wenn ich da die ADC1 u. ADC2 einfüge, irgentwas mach ich da falsch, ...
Die Änderungen für Fahrtregler an ADC0/1 sind echt nicht so schlimm:

In der RP6BaseServoLib.h änderst du die 4 Zeilen:
Code:
#define SERVO7_PULSE_ON		(PORTC |= SCL)		// PC0
#define SERVO7_PULSE_OFF	(PORTC &= ~SCL)
#define SERVO8_PULSE_ON		(PORTC |= SDA)		// PC1
#define SERVO8_PULSE_OFF	(PORTC &= ~SDA)
... in:
Code:
#define SERVO7_PULSE_ON		(PORTA |= ADC0)		// PA0
#define SERVO7_PULSE_OFF	(PORTA &= ~ADC0)
#define SERVO8_PULSE_ON		(PORTA |= ADC1)		// PA1
#define SERVO8_PULSE_OFF	(PORTA &= ~ADC1)
Und in der RP6BaseServoLib.c änderst du die 2 Zeilen:
Code:
if (servos & SERVO7) {DDRC |= SCL; PORTC &= ~SCL;}
if (servos & SERVO8) {DDRC |= SDA; PORTC &= ~SDA;}
... in:
Code:
if (servos & SERVO7) {DDRA |= ADC0; PORTA &= ~ADC0;}
if (servos & SERVO8) {DDRA |= ADC1; PORTA &= ~ADC1;}
Meine Demo vom 8.3. in diesem Thread schreibst du so um (der Rest der Demo bleibt gleich!):
Code:
	// Initialize the servo lib for use of Servos 7, 8:
	initSERVO(SERVO7 | SERVO8);

	startStopwatch2();					// Used for the demo
	
	pos = 2;							// Start with motor 

stopped
	servo7_position = MOTOR_STOP;
	servo8_position = MOTOR_STOP;
	
	while(true)  
	{
// ---------------------------------------------------------------------
// The demo code for positioning a drive controller (servo 1):
		if (getStopwatch2() > 5000) {	// Change position every ~5s
			if (pos == 0) {
			servo7_position = MOTOR_BACK_FULL;
			servo8_position = MOTOR_BACK_FULL;}
			if (pos == 1) {
			servo7_position = MOTOR_BACK_HALF;
			servo8_position = MOTOR_BACK_HALF;}
			if (pos == 2) {
			servo7_position = MOTOR_STOP;
			servo8_position = MOTOR_STOP;}
			if (pos == 3) {
			servo7_position = MOTOR_FORWARD_HALF;
			servo8_position = MOTOR_FORWARD_HALF;}
			if (pos == 4) {
			servo7_position = MOTOR_FORWARD_FULL;
			servo8_position = MOTOR_FORWARD_FULL;}
			if (pos == 5) {
			servo7_position = MOTOR_FORWARD_HALF;
			servo8_position = MOTOR_FORWARD_HALF;}
			if (pos == 6) {
			servo7_position = MOTOR_STOP;
			servo8_position = MOTOR_STOP;}
			if (pos == 7) {
			servo7_position = MOTOR_BACK_HALF;
			servo8_position = MOTOR_BACK_HALF;}
			
			pos++;
			if (pos > 7) {pos = 0;}
			setStopwatch2(0);
		}
// ---------------------------------------------------------------------
Viel Erfolg!

Gruß Dirk