Hallo Dirk,
Ich werds gleich mal ausprobieren!
Danke für die schnelle Antwort.
Gruß David
Druckbare Version
Hallo Dirk,
Ich werds gleich mal ausprobieren!
Danke für die schnelle Antwort.
Gruß David
Hallo Dirk,
Ich hab jetzt die Dateien in das selbe Verzeichniss wie die Beispielprogramme getan EEigene Dateien DavidRP6RP6ExamplesRP6BASE_EXAMPLESRP6Base_Servo
Passt das so?
Und hab den Dateinamen geändert und das Makefile angepasst.
Die Fehlermeldung ist aber nach wie vor :
Noch Ideen? :-kCode:E:Eigene Dateien DavidRP6RP6ExamplesRP6BASE_EXAMPLESRP6Base_Servomake_all.bat
E:Eigene Dateien DavidRP6RP6ExamplesRP6BASE_EXAMPLESRP6Base_Servoset LANG=C
E:Eigene Dateien DavidRP6RP6ExamplesRP6BASE_EXAMPLESRP6Base_Servomake all
-------- begin --------
avr-gcc (GCC) 4.1.2 (WinAVR 20070525)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
make No rule to make target `RP6ServoTest.elf', needed by `elf'. Stop.
Process Exit Code 2
Time Taken 0002
Vielen dank schonmal für deine Hilfe!
Gruß David
OK, schon gut fehler gefunden!
vielen dank nochmal
gruß david
Ähm, Was muss ich schreiben um die Servos 1-8 jetzt zum beispiel in die mittelposition zu fahren?
gruß David
Zitat:
Was muss ich schreiben um die Servos 1-8 jetzt zum beispiel in die mittelposition zu fahren?
Gruß DirkCode:servo1_position = MIDDLE_POSITION;
servo2_position = MIDDLE_POSITION;
servo3_position = MIDDLE_POSITION;
servo4_position = MIDDLE_POSITION;
servo5_position = MIDDLE_POSITION;
servo6_position = MIDDLE_POSITION;
servo7_position = MIDDLE_POSITION;
servo8_position = MIDDLE_POSITION;
Danke Dirk ich hoffe jetzt verstehe ich´s.
Gruß David
wo muss ich denn die servos anschließen ?? :D
Hallo,
wenn ich den Quelltext richtig verstehe, dann beschäftigt sich der Mikrocontroller über 10 Prozent seiner Zeit mit nichts anderem als abzuwarten bis er mal wieder einen Servoport umschalten muss. Interrupts sind in dieser Zeit gesperrt. Gibt es da nicht Probleme z.B. mit der IRCOMM ?
@ I♥ROBOTIC: es wird doch im Header definiert (2. Code im ersten Beitrag):
Eigentlich kannst du die Servos an beliebige freie Controllerpins anschließen, du musst eben nur die Software dafür anpassen.Code:// Servo ports:
#define SERVO1_PULSE_ON (PORTC |= SL1) // PC4
#define SERVO1_PULSE_OFF (PORTC &= ~SL1)
#define SERVO2_PULSE_ON (PORTC |= SL2) // PC5
#define SERVO2_PULSE_OFF (PORTC &= ~SL2)
#define SERVO3_PULSE_ON (PORTC |= SL3) // PC6
#define SERVO3_PULSE_OFF (PORTC &= ~SL3)
#define SERVO4_PULSE_ON (PORTB |= SL4) // PB7
#define SERVO4_PULSE_OFF (PORTB &= ~SL4)
#define SERVO5_PULSE_ON (PORTB |= SL5) // PB1
#define SERVO5_PULSE_OFF (PORTB &= ~SL5)
#define SERVO6_PULSE_ON (PORTB |= SL6) // PB0
#define SERVO6_PULSE_OFF (PORTB &= ~SL6)
#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)
// -----------------------------------------------------------
// Other possible ports for connecting servos to RP6Base:
//#define SERVOx_PULSE_ON (PORTA |= ADC0) // PA0
//#define SERVOx_PULSE_OFF (PORTA &= ~ADC0)
//#define SERVOx_PULSE_ON (PORTA |= ADC1) // PA1
//#define SERVOx_PULSE_OFF (PORTA &= ~ADC1)
//#define SERVOx_PULSE_ON (PORTA |= E_INT1) // PA4
//#define SERVOx_PULSE_OFF (PORTA &= ~E_INT1)
Grüße, Bernhard
@bosselwoss:
Ja, genau.Zitat:
... wenn ich den Quelltext richtig verstehe, dann beschäftigt sich der Mikrocontroller über 10 Prozent seiner Zeit mit nichts anderem als abzuwarten bis er mal wieder einen Servoport umschalten muss. Interrupts sind in dieser Zeit gesperrt. Gibt es da nicht Probleme z.B. mit der IRCOMM ?
Es gibt bessere Möglichkeiten, Servos anzusteuern, wenn man die RP6 Lib anpaßt. Das wollte ich aber nicht.
IRCOMM hat tatsächlich Probleme mit dieser Servoansteuerung. Es gibt da nur die Möglichkeit, die Servos mit stopSERVO kurzfristig anzuhalten, solange IRCOMM benutzt wird.
Gruß Dirk