示例#1
0
int
main(void)
{
    PWM_INIT(0);
    PWM_INIT(1);
    PWM_INIT(2);
    PWM_INIT(3);
    PWM_INIT(4);
    PWM_INIT(5);
    PWM_INIT(6);

    TCCR0B |= TIMER_NOPRESCALER;
    TIMSK |= (1<<OCIE0A);

    sei();

    for (;;)
    {
        PWM_UPDATE(0);
        PWM_UPDATE(1);
        PWM_UPDATE(2);
        PWM_UPDATE(3);
        PWM_UPDATE(4);
        PWM_UPDATE(5);
        PWM_UPDATE(6);

        _delay_ms(50);
    }

    /* NOTREACHED */
    return (0);
}
示例#2
0
void main(void)
{
	int_clk();         //时钟初始化
	P2DIR|=BIT4+BIT5;  //陀螺仪I2C端口初始化
	MPU6050_INIT();
	Bluth_UART_Init();	//蓝牙串口
	while(!Pid_Set_OK);//等待设置PID

	PWM_INIT();    //四路PWM初始化
	TIMEA1_INIT(); //PID控制5MS中断初始化  中断初始化必须在 ESP模块后面 因为代码中嵌套了对串口中断的使用
//	HC_RS04_Init();
//	TIMEA2_INIT();
	while(1)
	{
//		HC_RS04_Send();
//		delay_ms(100);
			dmp_read_fifo(gyro, accel, quad, &sensor_timestamp, &sensors, &more);  //读取角速度角速度四元数  经过测试发现该函数执行的时间竟然是不确定的,不适合放在中断,
	}
}
示例#3
0
文件: main.c 项目: MrLrh/freescale
void main(void) 
{
  DisableInterrupts;
  //MCU初始化
  PLL_INIT();
  PIT_INIT();
  PWM_INIT();
  AD_INIT();
  IO_INIT();
  SCI_INIT();
  //LCD_Init();
  DFLASH_INIT();
  
  EnableInterrupts;
  
  for(;;) 
  {
     if(PORTB_PB0==0) 
     {
          AD_biaoding();
     } 
     else if(PORTB_PB2==0) 
     {
        stop_flag=0;
       /* LCD_P6x8Str(0,0,"Angle:"); 

        /*LCD_P6x8Str(0,0,"Angle:"); 
        LCD_P6x8Str(0,0,"Gravity_Offset");
        LCD_P6x8Str(0,1,"Anglespeed:");
        LCD_P6x8Str(67,1,"Gyrscope_Offset"); 
        LCD_P6x8Str(0,2,"Anglespeed:");
        LCD_P6x8Str(66,2,"123"); 
        LCD_P6x8Str(0,3,"Kp:");
        LCD_P6x8Str(18,3,"123");
        LCD_P6x8Str(0,4,"Kd:");
        LCD_P6x8Str(18,4,"123");*/    
     }
     else if(PORTB_PB3==0)
     {
        SCI_senddata();
        Senddata[0]=AngleResult[0];
        Senddata[1]=AngleResult[1];
        Senddata[2]=AngleResult[3];//右轮
        Senddata[3]=Adcalcalation[0];//左轮 
        Senddata[4]=Adcalcalation[2];//AngleResult[3];//Turnstand[0];
        Senddata[5]=Adcalcalation[4];//Turnstand[1];
        Senddata[6]=0;
      } 
      else if(PORTB_PB4==0) 
      {
             AD_Max[0][0]=Dflash_Read(data_Address); 
             AD_Max[0][1]=Dflash_Read(data_Address+2); 
             AD_Max[0][2]=Dflash_Read(data_Address+4); 
             AD_Max[1][0]=Dflash_Read(data_Address+6); 
             AD_Max[1][1]=Dflash_Read(data_Address+8);
             AD_Max[1][2]=Dflash_Read(data_Address+10);
             AD_Max[2][0]=Dflash_Read(data_Address+12);
             AD_Max[2][1]=Dflash_Read(data_Address+14);
             AD_Max[2][2]=Dflash_Read(data_Address+16); 
             AD_Cal[1][0]=AD_Max[1][1];
             AD_Cal[1][1]=(AD_Max[0][1]+AD_Max[2][1])/2;
      }
     
     /*if(AD_flag==1) 
     {
        Adget();
        AD_flag=0;
     } 
     else if(Speed_flag==1) 
     {
        SpeedCalculate();
        Speed_flag=0;
     } 
     else if(Angle_flag==1) 
     {   
        GetAngle(AngleResult);
        AngleControl();
        Angle_flag=0; 
     } 
     /*else if(SCI_flag==10) 
     {
         SCI_senddata();
         SCI_flag=0;
     } */            
     _FEED_COP(); 
  } 
}