MAIN void main(void) { Init(); // Enable odometry LED_CONFIGURE_ODOMETRY(); // Configure auto measurment mode SensorInit(); SensorConfigAutomode(am_odo); // Setup encoder control EncoderInit(); EncoderMovementReset(); // Initialize 1kHz tick timer Timer0Init(); Timer0IntEnable(); // Set drive direction MotorDir(FWD, FWD); for (;;) { // Circle with approx. 10cm diameter ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { EncoderMovementSetSpeed(INNER_SPEED, OUTER_SPEED(100)); } msleep(5000); // Circle with approx. 25cm diameter ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { EncoderMovementSetSpeed(INNER_SPEED, OUTER_SPEED(250)); } msleep(3000); // Tightening spiral for (uint8_t i = 250; i >= 80; i -= 10) { ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { EncoderMovementSetSpeed(INNER_SPEED, OUTER_SPEED(i)); } msleep(500); } // Straight line ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { EncoderMovementSetSpeed(125, 125); } msleep(3000); } }
/******************************************************************************************************** Function Name: main Description : Inputs : None Outputs : None Notes : Revision : ********************************************************************************************************/ int main(void) { SystemInit(); //ϵͳʱÖÓ³õʼ»¯ InputIOInit(); //Êý×ÖÊäÈë³õʼ»¯ OutputIOInit();//Êý×ÖÊä³ö³õʼ»¯ SensorInit(); //Ä£ÄâÊäÈë³õʼ»¯ ZLG7290Init(); //¼üÅ̳õʼ»¯ MotorInit(); //µç»ú³õʼ»¯ ServoInit(); //¶æ»ú³õʼ»¯ EncoderInit(); //±àÂëÆ÷³õʼ»¯ /* V_PIDInit(); //µç»ú±Õ»·Êä³ö */ SystemStart(); //UsartInit(); //´®¿Ú³õʼ»¯ }