Hallo
Nette Idee. Dir ist aber schon klar dass du mit OdometrieData() keine Ticks zählst sondern die Helligkeitswerte der Odosensoren:
Was soll der Mix aus Libraryfunktionen und direktem Zugriff auf die Hardware? Es erschwert die Lesbarkeit enorm. Um die Ursachen der Abstürze einzugrenzen würde ich erstmal nur die erprobten Funktionen verwenden. Zu häufiges Laden der OCR1X-Register kann auch zu Problemen führen und sollte vermieden werden:Code:for ( int i= 0; odomSumme < 20000;i++) { MotorDir(RWD,RWD); OCR1A = 230; // Setze Motor Speed auf 230 von 255 OCR1B = 150; // Setze Motor Speed auf 150 von 255 OdometrieData(odom); odomSumme += odom[1]/100; }
GrußCode:MotorDir(RWD,RWD); OCR1A = 230; // Setze Motor Speed auf 230 von 255 OCR1B = 150; // Setze Motor Speed auf 150 von 255 for ( int i= 0; odomSumme < 20000;i++) { OdometrieData(odom); odomSumme += odom[1]/100; }
mic






Zitieren

Lesezeichen