资源简介
mpu6050+地磁传感器通过卡尔曼滤波得出姿态角,加入HMC588模块,对yaw角度进行融合校准。

代码片段和文件信息
///******************** (C) COPYRIGHT 2014 ANO Tech ********************************
// * 作者 :匿名科创
// * 文件名 :data_transfer.c
// * 描述 :数据传输
// * 官网 :www.anotc.com
// * 淘宝 :anotc.taobao.com
// * 技术Q群 :190169595
//**********************************************************************************/
//#include “data_transfer.h“
//#include “usart.h“
//#include “imu.h“
//#include “mpu6050.h“
//#include “ak8975.h“
//#include “ms5611.h“
//#include “rc.h“
//#include “ctrl.h“
//#include “time.h“
//#include “usbd_user_hid.h“
///////////////////////////////////////////////////////////////////////////////////////
////数据拆分宏定义,在发送大于1字节的数据类型时,比如int16、float等,需要把数据拆分成单独字节进行发送
//#define BYTE0(dwTemp) ( *( (char *)(&dwTemp) ) )
//#define BYTE1(dwTemp) ( *( (char *)(&dwTemp) + 1) )
//#define BYTE2(dwTemp) ( *( (char *)(&dwTemp) + 2) )
//#define BYTE3(dwTemp) ( *( (char *)(&dwTemp) + 3) )
//dt_flag_t f; //需要发送数据的标志
//u8 data_to_send[50]; //发送数据缓存
///////////////////////////////////////////////////////////////////////////////////////
////Data_Exchange函数处理各种数据发送请求,比如想实现每5ms发送一次传感器数据至上位机,即在此函数内实现
////此函数应由用户每1ms调用一次
//void ANO_DT_Data_Exchange(void)
//{
// static u8 cnt = 0;
// static u8 senser_cnt = 10;
// static u8 status_cnt = 15;
// static u8 rcdata_cnt = 20;
// static u8 motopwm_cnt = 20;
// static u8 power_cnt = 50;
//
// if((cnt % senser_cnt) == (senser_cnt-1))
// f.send_senser = 1;
//
// if((cnt % status_cnt) == (status_cnt-1))
// f.send_status = 1;
//
// if((cnt % rcdata_cnt) == (rcdata_cnt-1))
// f.send_rcdata = 1;
//
// if((cnt % motopwm_cnt) == (motopwm_cnt-1))
// f.send_motopwm = 1;
//
// if((cnt % power_cnt) == (power_cnt-1))
// f.send_power = 1;
//
// cnt++;
///////////////////////////////////////////////////////////////////////////////////////
// if(f.send_version)
// {
// f.send_version = 0;
// ANO_DT_Send_Version(43001004000);
// }
///////////////////////////////////////////////////////////////////////////////////////
// else if(f.send_status)
// {
// f.send_status = 0;
// ANO_DT_Send_Status(RollPitchYawbaroAlt0fly_ready);
// }
///////////////////////////////////////////////////////////////////////////////////////
// else if(f.send_senser)
// {
// f.send_senser = 0;
// ANO_DT_Send_Senser(mpu6050.Acc.xmpu6050.Acc.ympu6050.Acc.z
// mpu6050.Gyro.xmpu6050.Gyro.ympu6050.Gyro.z
// ak8975.Mag_Adc.xak8975.Mag_Adc.yak8975.Mag_Adc.z0);
// }
///////////////////////////////////////////////////////////////////////////////////////
// else if(f.send_rcdata)
// {
// f.send_rcdata = 0;
// ANO_DT_Send_RCData(Rc_Pwm_In[0]Rc_Pwm_In[1]Rc_Pwm_In[2]Rc_Pwm_In[3]Rc_Pwm_In[4]Rc_Pwm_In[5]Rc_Pwm_In[6]Rc_Pwm_In[7]00);
// }
///////////////////////////////////////////////////////////////////////////////////////
// else if(f.send_motopwm)
// {
// f.send_motopwm = 0;
// ANO
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11529 2017-05-16 21:37 RM_mcu2\ANO_DT.c
文件 1379 2017-05-16 21:37 RM_mcu2\ANO_DT.h
文件 267 2017-04-24 19:34 RM_mcu2\bsp_Init.c
文件 12495 2017-05-11 22:30 RM_mcu2\communication.c
文件 0 2017-05-11 22:21 RM_mcu2\communication.h
文件 6956 2015-12-10 17:06 RM_mcu2\DebugConfig\Target_1_STM32F103RC.dbgconf
文件 6956 2015-12-10 17:06 RM_mcu2\DebugConfig\Target_1_STM32F103RC_1.0.0.dbgconf
文件 6956 2015-12-10 17:06 RM_mcu2\DebugConfig\Target_1_STM32F103ZE_1.0.0.dbgconf
文件 339 2017-05-16 21:46 RM_mcu2\EventRecorderStub.scvd
文件 10371 2017-05-10 07:01 RM_mcu2\imu.c
文件 556 2017-04-05 17:12 RM_mcu2\imu.h
文件 5561 2017-05-06 20:46 RM_mcu2\Jli
文件 755 2017-05-06 20:36 RM_mcu2\Jli
文件 1409 2017-05-10 06:21 RM_mcu2\Kalman_Filter.c
文件 140 2017-05-10 06:19 RM_mcu2\Kalman_Filter.h
文件 173973 2019-04-05 15:19 RM_mcu2\Listings\RM_mcu2.map
文件 55031 2019-04-05 15:19 RM_mcu2\Listings\startup_stm32f10x_hd.lst
文件 1266 2017-06-07 12:04 RM_mcu2\main.c
文件 388 2017-05-14 00:41 RM_mcu2\main.h
文件 13617 2017-05-09 23:23 RM_mcu2\mpu6050_driver.c
文件 8708 2017-04-05 16:31 RM_mcu2\mpu6050_driver.h
文件 5202 2017-06-07 12:06 RM_mcu2\mpu6050_i2c.c
文件 198 2017-04-05 16:12 RM_mcu2\mpu6050_i2c.h
文件 1438 2017-05-10 18:45 RM_mcu2\mpu6050_interrupt.c
文件 167 2017-04-05 16:59 RM_mcu2\mpu6050_interrupt.h
文件 18 2019-04-05 15:19 RM_mcu2\ob
文件 30 2019-04-05 15:19 RM_mcu2\ob
文件 4496 2019-04-05 15:19 RM_mcu2\ob
文件 329525 2019-04-05 15:19 RM_mcu2\ob
文件 2329 2019-04-05 15:19 RM_mcu2\ob
............此处省略105个文件信息
- 上一篇:很实用的旅游订票管理系统
- 下一篇:STM 图片显示TFT 正点原子
相关资源
- mpu6050+hmc5883L.rar
- 陀螺仪MPU6050驱动
- APM_飞控4G数传源码.zip
- 飞控代码源码-台湾飞控大神版
- 四轴飞控源码 PID参考apm 采用了dmp自带
- 匿名领航者飞控源码、原理图和上位
- STM32F1单片机MPU6050加速度计陀螺仪驱动
- 两轮平衡车源程序,方能仪器,自平
- 基于stm32的六轴传感器驱动工程文件
- HMC5883L罗盘指南针模块库文件及中英文
- MPU6050数据发送到匿名上位机2.4版本的
- zadig-2.3.exe
- hmc5883l在stm32上的应用
- 51单片机两轮自平衡小车全套设计方案
- STM32 MPU6050 载人平衡车资料
- mpu6050\\mpu9150\\ms5611电路图可直接使用
- MPU6050DMP自检和零偏校准
- mpu6050中文手册
- 基于STM32F103C8T6的四轴飞行器源码
- STM32F103_FREERTOS_MPU6050DMP_USART_Timer输入捕
- 基于stm32的四旋翼飞控程序
- STM32 MPU6050 dmp读取四元数程序
- PX4飞控系统的流程图
- stm32 mpu6050 DMP 成功
- 基于STM32F103C8T6及NRF24L01的摔倒检测+
- 现代飞行控制系统
- stm32 mpu6050 串口输出
- STM32 MPU6050-DMP
- PIXHAWK飞控教程
- MPU6050_DMP模式STM32(库函数版本)--串
评论
共有 条评论