/** * @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(); } } }
//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{
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(); } } }