void main(void){
pwm_init(); //PWM初始化 pll_init(); // sci_init(); ad_init(); io_init(); CCD_IO_Init(); timer0_init(); delay(3000); while(PORTK_PK2!=0); while(PORTK_PK2==0){ for(i=0;i<10;i++){ ATD0CTL5=0x30; while(ATD0STAT0_SCF!=1); AD_Angle_Sum=AD_Angle_Sum+ATD0DR0; AD_Gyro_Sum=AD_Gyro_Sum+ATD0DR1; DIR_GYRO_Sum=DIR_GYRO_Sum+ ATD0DR3; } AD_Angle=(float)(AD_Angle_Sum/10); AD_Gyro=(float)(AD_Gyro_Sum/10); DIR_GYRO=(float)(DIR_GYRO_Sum/10); AD_Angle_Sum=0; AD_Gyro_Sum=0; DIR_GYRO_Sum=0; angle_offset=AD_Angle; gyro_offset=AD_Gyro; DIRECTION_OFFSET=DIR_GYRO+35; while(PORTK_PK2==0); } EnableInterrupts; SciBuf[0] = 0; // 长度高字节,此设置为0 SciBuf[1] = 12+4;// 16 SciBuf[2] =0; // 通道4的高字节数据 SciBuf[3] =0; // 通道4的低字节数据 SciBuf[4] = 0; // 保留字节,设置为0 SciBuf[5] = 0; // 保留字节,设置为0 delay(2000); for(;;){ /* if(TimerFlag20ms == 1) { TimerFlag20ms = 0; if(++send_data_cnt >= 5) { send_data_cnt = 0; SCI_SendData(&SciBuf[0]); } } */ for(;;){ while(CAR_SPEED_SET<=30) { CAR_SPEED_SET+=1; delay(200); } } } }
|