阅 3418|回 5
- 最后登录
- 2024-11-24
- 在线时间
- 4843 小时
- 威望
- 13434分
- 芯积分
- 3887分(兑换)
- E金币
- 1459枚(兑换)(兑换)
- 好友
- 60
版主
|
本帖最后由 dcexpert 于 2015-12-19 11:39 编辑
在看看使用Mbed驱动F429板载的陀螺仪。
- #include "mbed.h"
- #include "GYRO_DISCO_F429ZI.h"
- #include "LCD_DISCO_F429ZI.h"
- GYRO_DISCO_F429ZI gyro;
- LCD_DISCO_F429ZI lcd;
- DigitalOut led1(LED1);
- int main()
- {
- float GyroBuffer[3];
- uint8_t text[30];
-
- printf("Gyroscope started\n");
-
- BSP_LCD_SetFont(&Font20);
- lcd.Clear(LCD_COLOR_BLUE);
- lcd.SetBackColor(LCD_COLOR_BLUE);
- lcd.SetTextColor(LCD_COLOR_YELLOW);
- lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Gyroscope test", CENTER_MODE);
- lcd.SetTextColor(LCD_COLOR_WHITE);
-
- while(1) {
- // Read Gyroscope values
- gyro.GetXYZ(GyroBuffer);
- // Display values
- printf("X = %f\r\n", GyroBuffer[0]);
- printf("Y = %f\r\n", GyroBuffer[1]);
- printf("Z = %f\r\n", GyroBuffer[2]);
- //printf("\033[3A"); // Moves cursor up x lines (x value is between [ and A)
-
- sprintf((char *)text, "X = %10.3f", GyroBuffer[0]);
- lcd.DisplayStringAt(0, LINE(2), (uint8_t *)text, LEFT_MODE);
- sprintf((char *)text, "X = %10.3f", GyroBuffer[1]);
- lcd.DisplayStringAt(0, LINE(3), (uint8_t *)text, LEFT_MODE);
- sprintf((char *)text, "X = %10.3f", GyroBuffer[2]);
- lcd.DisplayStringAt(0, LINE(4), (uint8_t *)text, LEFT_MODE);
-
- led1 = !led1;
- wait(1);
- }
- }
复制代码
- 首先定义一个陀螺仪对象
GYRO_DISCO_F429ZI gyro; - 定义一个浮点数组保存陀螺仪的结果
float GyroBuffer[3]; - 最后就可以使用gyro.GetXYZ函数获取结果了
gyro.GetXYZ(GyroBuffer);
运行结果
也可以在串口中打印出数据
|
|