So kann ich das Programm fehlerfrei übersetzen:
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);
}
Die Werte passen bei mir so ungefähr.
Gruß
mic
Lesezeichen