Example #1
0
/**
  * @brief  Main program.
  * @param  None
  * @retval None
  */
int main(void)
{
	RCC_ClocksTypeDef RCC_Clocks;


  /* SysTick end of count event each 10ms */
  RCC_GetClocksFreq(&RCC_Clocks);
  SysTick_Config(RCC_Clocks.HCLK_Frequency / 100);
	
	/********************输出 初始化 ******************/
	PWM_init();
  
	
	STM324xG_LCD_Init();	
  LCD_Clear(BLACK);/* Clear the LCD */
  LCD_SetBackColor(BLACK);/* Set the LCD Back Color */  
  LCD_SetTextColor(WHITE);/* Set the LCD Text Color */	
  LCD_DisplayStringLine(LINE(0), "  Hello jaja. I'm xiaohei01");
	
	
	/********************输入 初始化 ******************/
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_3);/*!< 3 bits for pre-emption priority 1 bits for subpriority */	
	
	Encoder_init();	//encoder tim8	
	usart_init();//通信COM usart2 115200
	
	IMU_init();	
	if (get_mode()==1)
	{
		IMU_BE10();
	}
	
	KEY_init();		
	AD_Init();	
	GPS_int();

	TIM2_Configuration();
	printf("uart init OK 2 \r\n");

	
while(1)
  {


	if(LCD_flag)
	{
		LCD_flag=0;
		lcd_refresh();
	}


  }  
}
Example #2
0
//ISR
void GPIOPortF_Handler(){
	volatile unsigned int x;
		if(((PORTF_DATA & 0x00000004)>>2)==0){
			PORTF_DATA |= 0x00000004;
			
			//I2C_Write_slv(SLV_ADDR_GYRO,CTRL1,0xF);
			IMU_init();
			
			//ST_RELOAD |= 0x000FFFFF;
			ST_RELOAD |= 0x00000FFF;
			//GetData(0x0F);			
			PORTF_DATA &= ~0x00000004;
		}else{
Example #3
0
int main(void)
{
  int16_t data[9];

  int16_t result[3];
  int i=0;

  SystemInit();
  delay_init(72);
  GPIO_Configuration();
  Initial_UART1(115200L);
  I2C_GPIO_Config();
  NVIC_Configuration();
  
  delay_ms(10);
  Init_MPU6050();
  
  delay_ms(10);
  HMC5883L_Init();
  delay_ms(10);

  IMU_init();
  
  Initial_Timer3();
  system_microsec=micros();

  
  while(1)
  {
    //delay_ms(10);

    //if(micros()-system_microsec>upload_time)
    {
    
      Read_MPU6050_ACC(&data[0]);
      Read_MPU6050_GYRO(&data[3]);
      HMC5883L_Read(&data[6]);
      IMU_getYawPitchRoll(result,data);
      
      UART1_Put_Char(0xff);
      UART1_Put_Char(0xaa);

      /*out_int16_t(&data[0]);
      out_int16_t(&data[1]);
      out_int16_t(&data[2]);

      out_int16_t(&data[3]);
      out_int16_t(&data[4]);
      out_int16_t(&data[5]);

      out_int16_t(&data[6]);
      out_int16_t(&data[7]);
      out_int16_t(&data[8]);
      
      */
      out_int16_t(&result[0]);
      out_int16_t(&result[1]);
      out_int16_t(&result[2]);
      
      //out_int16_t(&_hlt);
      //system_microsec = micros();
    }

    

  }
		     
}