提供給MPU6050驅動的講解注釋(本人親測),以及DMP庫移植的說明,提供一切必須文件,直接移植即可使用輸出歐拉角。
完整源碼:
MPU6050.rar
(47.44 KB, 售價: 3 E幣)
2020-6-4 17:13 上傳
點擊文件名下載附件
售價: 3 E幣 [記錄]
[ 購買]
093223qkjmem3g8xqrzgyf.jpg (2.99 KB)
下載附件
2020-6-4 17:08 上傳
提供完整的附加函數,方便移植使用:
093152sehfjhaarjo9toxo.jpg (90.13 KB)
下載附件
2020-6-4 17:08 上傳
提供完整的驅動以及移植好的DMP庫:
093336vzf0ci02obo300wb.jpg (128.87 KB)
下載附件
2020-6-4 17:08 上傳
MPU6050模塊:輸出原始數據通過內置DMP進行數據處理,獲取姿態信息:角度、角速度,多用于PID控制。
IIC接口引腳配置
3.3V供電
SDA:PB11
SCL:PB10
AD0:PB2
//INT:PB5 中斷,暫時用不到
通信協議層:mpu_iic.c/mpu_iic.h
軟件模擬IIC,是STM32與MPU6050通信的基本框架
驅動層:mpu6050.c/mpu6050.h
建立在IIC通信機制上的,向DMP庫提供對MPU6050寄存器的讀寫操作,以及完成對MPU6050初始化的任務。
應用層:
移植的庫:inv_mpu.c/inv_mpu_dmp_motion_driver.c(及所包含的頭文件)
移植的DMP庫,對原始數據進行處理,
調用時,在inv_mpu.c中添加如下代碼即可(實際上是讓DMP庫和我們寫的驅動層建立聯系)
#define i2c_write MPU_Write_Continue
#define i2c_read MPU_Read_Continue
#define delay_ms delay_ms
#define get_ms mget_ms
附加的函數:延時、串口打印,這些到時候可以統一
具體使用例子如下:
- #include "stm32f10x.h"
- #include "usart.h"
- #include "delay.h"
- #include "mpu6050.h"
- #include "inv_mpu.h"
- #include "inv_mpu_dmp_motion_driver.h"
- int main(void)
- {
- uint8_t x=0;
- float pitch,roll,yaw; //歐拉角
- short aacx,aacy,aacz; //加速度傳感器原始數據
- short gyrox,gyroy,gyroz; //陀螺儀原始數據
- short temp; //溫度
-
- NVIC_PriorityGroupConfig( 2 );
- delay_init();
- USART1_Init(115200);
- printf("程序開始\n");
-
- if( MPU_Init()!=0 )
- {
- printf("MPU6050初始化錯誤!\n");
- return 0;
- }
-
- if( mpu_dmp_init() )
- {
- printf("DMP初始化錯誤!\n");
- return 0;
- }
- while(1)
- {
- if(mpu_dmp_get_data(&pitch,&roll,&yaw)==0) //獲取DMP處理后的姿態信息(歐拉角)
- {
- temp=MPU_Get_Temperature(); //得到溫度值
- MPU_Get_Accelerometer(&aacx,&aacy,&aacz); //獲取加速度傳感器原始數據
- MPU_Get_Gyroscope(&gyrox,&gyroy,&gyroz); //獲取陀螺儀原始數據
- }
- delay_ms(100);
- printf("pitch:%02f roll:%02f yaw:%02f\n",pitch,roll,yaw);
- }
-
-
- }
復制代碼
【必讀】版權免責聲明
1、本主題所有言論和內容純屬會員個人意見,與本論壇立場無關。2、本站對所發內容真實性、客觀性、可用性不做任何保證也不負任何責任,網友之間僅出于學習目的進行交流。3、對提供的數字內容不擁有任何權利,其版權歸原著者擁有。請勿將該數字內容進行商業交易、轉載等行為,該內容只為學習所提供,使用后發生的一切問題與本站無關。 4、本網站不保證本站提供的下載資源的準確性、安全性和完整性;同時本網站也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的損失或傷害。 5、本網站所有軟件和資料均為網友推薦收集整理而來,僅供學習用途使用,請務必下載后兩小時內刪除,禁止商用。6、如有侵犯你版權的,請及時聯系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|