So kann ich das Programm fehlerfrei übersetzen:
Die Werte passen bei mir so ungefähr.Code:// nibobee: Drehwinkel vorgeben 3.1.2010 Marlon // aus: https://www.roboternetz.de/phpBB2/viewtopic.php?t=51895 // Eine Radumdrehung entspricht 55° und 19 "Odometrieschritten" // Alle auf 45° gerundet: // 45°=15.5 (15 oder 16) // 90°=31 // 180°=62 // 225°=78 // 270°=93 // 315°=109 // 360°=124 #include <nibobee/iodefs.h> #include <nibobee/base.h> #include <nibobee/motpwm.h> #include <nibobee/delay.h> //#include <nibobee/led.h> #include <nibobee/odometry.h> #define right 1 #define left 2 void dreh(uint8_t side,uint8_t steps) { //steps*=2; // meine bee hat 8 Löcher in den Codescheiben odometry_reset(); switch(side) { case left: for (; odometry_getLeft(0)<steps; ) { motpwm_setLeft(300); } break; case right: for (steps=steps-1; odometry_getRight(0)<steps; ) { motpwm_setRight(300); } break; } motpwm_stop(); } int main(void) { motpwm_init(); odometry_init(); enable_interrupts(); delay(2000); // wait4programmer while(1) { delay(1000); dreh(left,124); delay(1000); dreh(right,124); } return(0); }
Gruß
mic







Zitieren

Lesezeichen