Hallo
Bei meiner bee dauert delay(1) eine ms:
Die Motoransteuerung finde ich ziemlich zickig, ich weiß noch nicht, ob mir das so gefällt. Ich stehe mehr auf eigenverantwortliche Ansteuerung mit MotorDir()/MotorPWM(). Leider haben die Codescheiben nur 4 Löcher, 8 wären deutlich besser. Bei einer Drehzahlregelung dürften die unterschiedlichen Abstände zwischen High und Low Probleme bereiten.Code:#include <nibobee/iodefs.h> #include <nibobee/base.h> #include <nibobee/led.h> #include <nibobee/motpwm.h> #include <nibobee/delay.h> int main(void) { int16_t speed_l=0; int16_t speed_r=0; led_init(); motpwm_init(); enable_interrupts(); led_set(0,1); delay(3000); led_set(0,0); led_set(1,1); while(1==1) { speed_l = 400; speed_r = 400; motpwm_setLeft(speed_l); motpwm_setRight(speed_r); delay(1000); speed_l = 0; speed_r = 400; motpwm_setLeft(speed_l); motpwm_setRight(speed_r); delay(1000); speed_l = 700; speed_r = 700; motpwm_setLeft(speed_l); motpwm_setRight(speed_r); delay(1000); } return 0; }
Gruß
mic
[Edit]
Noch 'ne Anmerkung zu delay(): In meiner Datei delay.c ist das so definiert:
Zum einen fehlt hier irgendwie der Unterstrich vor delay_ms() und zudem wär ein schlichtes delay_ms(ms) einfacher und vermutlich genauer weil ohne Overhead durch die Aufrufe von delay_ms(1)Code:void delay(uint16_t ms){ while(ms--) delay_ms(1); }







Zitieren

Lesezeichen