STM32F0+MPU9250(with MS5611)的姿態解析演算法移植(MahonyAHRS)
2017.12.25更新MPU6050 + HMC5983方案程式碼。
https://github.com/769484623/MahonyAHRSWithMPU6050_HMC5983
——————————————————————————————————————
決定慢慢把寫過的程式碼整理放出來~
節省各位看官的時間,先放出程式碼(Using Keil 5)
使用stm32f0系列的硬體I2C,驅動兩個外設(MPU9250 & MS5611)。寫過MPU6050跟HMC5983連用的,但成本太大,雖然精度比只用單個的MPU9250強很多。HMC5983最大的優點就是快,速度快,更新也快,並且也很準。
不知道各位對MPU6050+HMC5983有沒有興趣,有興趣留言即可,我會找機會放出程式碼。
PS,為了檢視解算效果,我使用了5110的螢幕作為顯示,使用硬體SPI,速度很快。
我所使用的MCU為:stm32f030c8t6
相關推薦
STM32F0+MPU9250(with MS5611)的姿態解析演算法移植(MahonyAHRS)
2017.12.25更新MPU6050 + HMC5983方案程式碼。 https://github.com/769484623/MahonyAHRSWithMPU6050_HMC5983 ——————————————————————————————————
Exynos4412 核心移植(六)—— 裝置樹解析
void __init unflatten_device_tree(void) { //解析裝置樹,將所有的裝置節點鏈入全域性連結串列 of_allnodes中 __unflatten_device_tree(initial_boot_params, &of_allnodes,e
Pixhawk之姿態解算篇(2)_mahony演算法分析
一、開篇 還是沒能進入到原始碼部分研究,對姿態解算過程太過於模糊,所以主要開始研究一下關於姿態解算的過程和實現,本篇博文主要是以mahony的演算法為基礎理解姿態解算的過程,主要參考的論文就是William Premerlani and Paul Bizard的關於DC
三、Exynos4412 核心移植(六)—— 裝置樹解析
http://blog.csdn.net/zqixiao_09/article/details/50822753一、描述 ARM Device Tree起源於OpenFirmware (OF),在過去的Linux中,arch/arm/plat-xxx和arch/
(演算法)java完成解析數學算式(計算器)一 —— 遞迴、正則直接遍歷字串解析
一、程式要求 解析一般數學算式,實現簡單的帶括號的加減乘除運算。 二、基本思路 先從我們人的角度,考慮平時在計算一個式子的思路,任意假設一個的數學表示式-3.5*(4.5-(4+(-1-1/2))) 1、計算最裡面的括號(最後一個左括號)裡的表示式(-1-1/
u-boot移植(一)---準備工作
分享 2.3 option 什麽 bison ctu http bin 執行命令 一、工具鏈的制作 1.1 工具 軟件工具:crosstool-ng 下載地址:git clone https://github.com/crosstool-ng/crosstool-n
根文件系統移植(2)——根文件系統的兩種格式
根文件系統 鏡像 文件夾一:鏡像格式的根文件系統 (1)鏡像文件的根文件系統的主要作用是用來以後燒錄到塊設備上面的,塊設備上的內核啟動後去掛載它。 (2)鏡像形式的根文件系統是由文件夾格式的根文件系統通過特定的工具(mke2fs)制作得到的 (3)鏡像文件系統具有一定的格式,格式是內化的
根文件系統移植(1)——根文件系統介紹
根文件系統介紹一:什麽是根文件系統 (1)首先明白一點,我們的文件在硬盤上的存儲並非是連續存放的,而是零散的存放在硬盤中的某些空余扇區中的,這就導致了我們很難去查看我們存放的文件(因為人無法記住所有文件存放在哪些扇區,已經扇區的順序),這時就有了我們的文件系統,所以簡單來講,文件系統就是對一個存儲設備上
u-boot移植(四)---代碼修改---時鐘修改、SDRAM
port write 啟動 tro nor ble 大小 pro 正常 最開始已經建立了新單板以及配置文件,現在就需要做的是代碼的修改,配置成適合目標板使用的u-boot。 一、時鐘修改 在代碼流程分析中,我們知道,系統的啟動是: 設置 CPU 為管理員模式 關閉
u-boot移植(七)---代碼修改---存儲控制器
relative onf 修改 param nan 內存 literal def 定義 一、CPU訪問芯片的條件 CPU通過訪問存儲控制器,來讀取外部設備的數據。 CPU想訪問一個芯片,需要如下條件(配置信息): 地址線 數據線:8位/16位/32位數據
u-boot移植(十三)---代碼修改---裁剪及環境變量 一
相關 addition 並且 width load command 啟動程序 type 入參 一、內核裁剪 內核的裁剪首先就是修改我們的配置文件,即 include/configs/jz2440.h 文件,裏面定義的很多宏,我們也許用不上的就要去掉。 1 /*
u-boot移植(十三)---代碼修改---支持文件系統及補丁制作
ota ons set nan 文件的 help and ole com 一、燒寫文件系統 1.1 jffs2燒寫 1.下載文件系統:tftp 30000000 fs_mini_mdev.jffs2 2.擦除文件的塊:nand erase.part rootf
【SpringMVC架構】SpringMVC入門實例,解析工作原理(二)
rip 業務邏輯層 popu 輸入 implement override article hide -i 上篇博文,我們簡單的介紹了什麽是SpringMVC。這篇博文。我們搭建一個簡單SpringMVC的環境,使用非註解形式實現一個HelloWorld實
linux4.10.8 內核移植(二)---初步裁剪、分區修改和文件系統
如何 搜索 錯誤 命令 device 查看源碼 static .cn lock 一、初步裁剪 在內核根目錄下 執行: make menuconfig 1.1 system type裁剪 選擇 SAMSUNG S3C24XX SoCs Support 進
linux4.10.8 內核移植(三)---裁剪內核
conf .cn 需要 正常 多少 分享 內核 col make 一、裁剪內核 1.1 第一次修改 現在的內核大小為2.8M左右,要裁剪到2.0M以下,畢竟給內核分區就只有2.0M。 這兩個設備我們沒有,裁剪掉。 進入make menuconfig中
Roomblock: a Platform for Learning ROS Navigation With Roomba, Raspberry Pi and RPLIDAR(轉)
include lan ini sea more ike res base package What is this? "Roomblock" is a robot platform consists of a Roo
解析MySQL binlog --(2)FORMAT_DESCRIPTION_EVENT
mysql binlog 該格式描述事件時binlog version 4中為了取代之前版本的START_EVENT_3事件而引入的。是binlog文件的第一個事件,並在一個binlog文件中僅出現一次。具體定義:binlog-version:binlog版本mysql-server version:
深入解析Java反射(1) - 基礎
java blog OS HR gpo n-1 get pos body http://www.sczyh30.com/posts/Java/java-reflection-1/ http://how2j.cn/k/reflection/reflection-usa
解析MySQL binlog --(3)QUERY_EVENT
MySQL binlog query_e一、介紹 QUERY_EVENT事件以文本的形式記錄信息。當binlog格式時statement時,執行的語句都存儲在QUERY_EVENT中,如下所示: mysql> show binlog events in "mysql-bin.000002"; +--
解析MySQL binlog --(4)TABLE_MAP_EVENT
table_map_event1、簡介 row格式的binlog文件中,每個ROW_EVENT之前都有一個TABLE_MAP_EVENT,用於描述表的內部ID和結構定義。 mysql> show binlog events in "mysql-bin.000002"; +----------------