Hallo
Zu 1: Die Funktion writeInteger() wird in RP6uart.c folgenderweise definiert:
Code:
/**
* Write a number (with specified base) to the UART.
*
* Example:
*
* // Write a hexadecimal number to the UART:
* writeInteger(0xAACC,16);
* // Instead of 16 you can also write "HEX" as this is defined in the
* // RP6RobotBaseLib.h :
* writeInteger(0xAACC, HEX);
* // Other Formats:
* writeInteger(1024,DEC); // Decimal
* writeInteger(044,OCT); // Ocal
* writeInteger(0b11010111,BIN); // Binary
*/
void writeInteger(int16_t number, uint8_t base)
{
char buffer[17];
itoa(number, &buffer[0], base);
writeString(&buffer[0]);
}
Erster Parameter ist der 16bit Wert der angezeigt werden soll, zweiter Parameter die Zahlenbasis der Ausgabe. Diese Basis wird direkt an itoa (integer to ascii) weitergereicht. Eine Auswahl von gebräuchlichen Basen werden in RP6uart.h definiert und vor dem Kompilieren durch die entsprechenden Werte ersetzt:
#define HEX 16
#define DEC 10
#define OCT 8
#define BIN 2
Und weil ich mein kleines Köpfchen nicht mit allem Müll überladen will, merke ich mir nicht die Definitionen sondern gebe die Basis direkt als Ziffer ein
Zu 2: Wenn deine Progammvariante per Copy&Paste aus meinem Programm zusammengesetzt ist (es scheint mir so), dann sollte es auch funktionieren. Zu den zu erwartenden Werten: Bei Servosteuerungen wird meist ein 100kHz-Takt verwendet, weil dann 100 Einheiten genau einer Millisekunde entspricht. Da die Timer1-Overflow-ISR des RP6 mit knapp 20kHz aufgerufen wird, sollte der Wert für eine Millisekunde (das ist ungefähr die Mitte meiner RS2-Servos) etwas größer als 20 sein. (Die 26 von oben sind etwas außerhalb der Mitte.)
Zu 3: Nein, ohne C-Control PRO MEGA128 kann man das M128 nicht verwenden. Das C-Control ist der Microkontroller des M128 (mit einem ATMega12:
Zitat von
Conrad Onlinekatalog
Mit diesem Modul können Sie die in Basic und CompactC programmierbaren C-Control PRO MEGA128 Module zur Steuerung des RP6 über den
I²C Bus verwenden.
Leider köchelt Conrad hier sein eigenes Süppchen, Basic und CompactC sind zwar verbreitet, aber leider kein echter Standart. Da ich noch keinen Kontakt zum C-Control hatte, würde ich mir ein M32 zulegen.
Gruß
mic
Lesezeichen