int main(void) { /* Init */ TIM_Config(); PWM_Config(); ENC_Config(); UART_DMA_CONFIG(txbuffer,txsize,rxbuffer,rxsize,57600); USART_config (); /* MPU 1 */ MPU6050_Status = TM_MPU6050_Init(&MPU6050_Data0, TM_MPU6050_Device_0, TM_MPU6050_Accelerometer_2G, TM_MPU6050_Gyroscope_250s); Delay (200); /* MPU2 */ //I2C_Config(); //MPU_Config(MPU_Adress); //MPU_Wake(MPU_Adress); if (SysTick_Config(SystemCoreClock / 1000)) {/* Capture error */ while (1);} while (1); }
int main(void) { /* Init system clock for maximum system speed */ TM_RCC_InitSystem(); /* Init HAL layer */ HAL_Init(); /* Init leds */ TM_DISCO_LedInit(); /* Init button */ TM_DISCO_ButtonInit(); /* For pinouts, check TM_MPU6050 library */ /* Try to init MPU6050, device address is 0xD0, AD0 pin is set to low */ if (TM_MPU6050_Init(&MPU6050, TM_MPU6050_Device_0, TM_MPU6050_Accelerometer_8G, TM_MPU6050_Gyroscope_250s) == TM_MPU6050_Result_Ok) { /* Green LED on */ TM_DISCO_LedOn(LED_GREEN); } while (1) { /* Read everything from device */ TM_MPU6050_ReadAll(&MPU6050); /* Raw data are available for use as needed */ //MPU6050.Accelerometer_X; //MPU6050.Accelerometer_Y; //MPU6050.Accelerometer_Z; //MPU6050.Gyroscope_X; //MPU6050.Gyroscope_Y; //MPU6050.Gyroscope_Z; //MPU6050.Temperature; /* Delay a little */ Delayms(1); } }
int main(void) { TM_MPU6050_t MPU6050_Data0; TM_MPU6050_t MPU6050_Data1; uint8_t sensor1 = 0, sensor2 = 0; char str[120]; /* Initialize system */ SystemInit(); /* Initialize delay */ TM_DELAY_Init(); /* Initialize USART, TX: PB6 */ TM_USART_Init(USART1, TM_USART_PinsPack_2, 115200); /* Initialize MPU6050 sensor 0, address = 0xD0, AD0 pin on sensor is low */ if (TM_MPU6050_Init(&MPU6050_Data0, TM_MPU6050_Device_0, TM_MPU6050_Accelerometer_8G, TM_MPU6050_Gyroscope_250s) == TM_MPU6050_Result_Ok) { /* Display message to user */ TM_USART_Puts(USART1, "MPU6050 sensor 0 is ready to use!\n"); /* Sensor 1 OK */ sensor1 = 1; } /* Initialize MPU6050 sensor 1, address = 0xD2, AD0 pin on sensor is high */ if (TM_MPU6050_Init(&MPU6050_Data1, TM_MPU6050_Device_1, TM_MPU6050_Accelerometer_8G, TM_MPU6050_Gyroscope_250s) == TM_MPU6050_Result_Ok) { /* Display message to user */ TM_USART_Puts(USART1, "MPU6050 sensor 1 is ready to use!\n"); /* Sensor 2 OK */ sensor2 = 1; } while (1) { /* Every 500ms */ if (TM_DELAY_Time() >= 500) { /* Reset time */ TM_DELAY_SetTime(0); /* If sensor 1 is connected */ if (sensor1) { /* Read all data from sensor 1 */ TM_MPU6050_ReadAll(&MPU6050_Data0); /* Format data */ sprintf(str, "1. Accelerometer\n- X:%d\n- Y:%d\n- Z:%d\nGyroscope\n- X:%d\n- Y:%d\n- Z:%d\nTemperature\n- %3.4f\n\n\n", MPU6050_Data0.Accelerometer_X, MPU6050_Data0.Accelerometer_Y, MPU6050_Data0.Accelerometer_Z, MPU6050_Data0.Gyroscope_X, MPU6050_Data0.Gyroscope_Y, MPU6050_Data0.Gyroscope_Z, MPU6050_Data0.Temperature ); /* Show to usart */ TM_USART_Puts(USART1, str); } /* If sensor 2 is connected */ if (sensor2) { /* Read all data from sensor 1 */ TM_MPU6050_ReadAll(&MPU6050_Data1); /* Format data */ sprintf(str, "2. Accelerometer\n- X:%d\n- Y:%d\n- Z:%d\nGyroscope\n- X:%d\n- Y:%d\n- Z:%d\nTemperature\n- %3.4f\n\n\n", MPU6050_Data1.Accelerometer_X, MPU6050_Data1.Accelerometer_Y, MPU6050_Data1.Accelerometer_Z, MPU6050_Data1.Gyroscope_X, MPU6050_Data1.Gyroscope_Y, MPU6050_Data1.Gyroscope_Z, MPU6050_Data1.Temperature ); /* Show to usart */ TM_USART_Puts(USART1, str); } } } }