资源简介
调平衡车的时候用的软件,最新版本界面友好,稳定了很多,在win10上运行没有bug。自己写了一个教程,希望大家喜欢!
代码片段和文件信息
#include “ANO_DT.h“
#include “mpu6050.h“
#include “flight_control.h“
#include “24l01.h“
#include “HCSR04.h“
#include “usart.h“
#include “stm32f10x_usart.h“
#include “kalman.h“
#include “stmflash.h“
#include “adc.h“
#include “debug_para.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]; //发送数据缓存
extern float motor_duty[4];
extern struct PID_parameter PID_pitch ; //姿态角PID
extern struct PID_parameter PID_roll;
extern struct PID_parameter PID_yaw;
extern struct PID_parameter PID_gyro_x; //角速度PID
extern struct PID_parameter PID_gyro_y;
extern struct PID_parameter PID_gyro_z;
extern float accel[3];
extern struct PID_parameter PID_height; //高度PID
extern struct Kalman_data kalman_accel_x ; //三轴的加速度卡尔曼滤波数据(从左到右为last_p Q R output)
extern struct Kalman_data kalman_accel_y ;
extern struct Kalman_data kalman_accel_z ;
extern struct Attitude_int offset; //四旋翼静态的时候6050测得的数据
extern struct Attitude_float attitude; //四旋翼当前的姿态数据
extern float Power_V;
extern struct debug_data debug;
/////////////////////////////////////////////////////////////////////////////////////
//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 motopwm_cnt = 20;
static u8 udata_cnt = 25;
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 % motopwm_cnt) == (motopwm_cnt-1))
f.send_motopwm = 1;
if((cnt % udata_cnt) == (udata_cnt-1))
f.udata =1;
if((cnt % power_cnt) == (power_cnt-1))
f.send_power = 1; //到达计数值,标志位置一
cnt++;
/////////////////////////////////////////////////////////////////////////////////////
if(f.send_status)//传输UAV当前状态、姿态角、高度
{
f.send_status = 0;
ANO_DT_Send_Status(attitude.roll attitude.pitch attitude.yaw attitude.height21);
}
/////////////////////////////////////////////////////////////////////////////////////
else if(f.send_senser)//传输传感器数据6050和磁力计等数据
{
f.send_senser = 0;
ANO_DT_Send_Senser(debug.temp_duty_Kd*100 debug.temp_duty_Kp*100 debug.angleattitude.gyro_xattitude.gyro_yattitude.gyro_zaccel[0]accel[1]accel[2]);
}
else if(f.udata)
{
f.udata=0;
ANO_DT_Send_Udata(000000000);
}
////////////////////////////////
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1344 2019-04-10 21:43 ANO_DT.h
文件 71165952 2018-11-03 10:37 ANO_TC匿名上位机V65.exe
文件 1730904 2019-07-12 09:52 匿名V65简易使用说明.docx
文件 15907 2019-04-10 22:48 ANO_DT.c
相关资源
- QT温湿度上位机
- oled显示以前做飞思卡尔用过
- STM32 摄像头和上位机
- 飞思卡尔L3.0.35 Linux资料全套
- stm32 hid双向通信例程源码-包括上位机
- USB调试助手 USB通信 USB上位机 QT USB程
- 平衡小车pcb与原理图,源码,蓝牙,
- 飞思卡尔”杯智能汽车竞赛设计与实
- 基于STM32的两轮平衡小车资料
- Freescale 飞思卡尔 各模块程序范例
- 双轮平衡车原理图及pcb
- 单片机串口协议程序+电机驱动程序
- 上位机、串口调试助手
- 基恩士上位机TCP通讯协议
- 上海大华条码秤上位机1216_称的软件
- 智能车设计--武汉科技大学
- 飞思卡尔8位单片机MC9S08教程
- STM32F4摄像头OV7670测试工程
- STM32遥控平衡车,陀螺仪用的MPU6050,
- 飞思卡尔官方例程
- 飞思卡尔 S12XEP100所有功能例程集合
- 飞思卡尔BDM驱动,WIN10可用
- labview上位机(C70)
- 飞思卡尔MC9S12XS128 Demo程序
- STM32F103驱动线性CCD与上位机通信
- 飞思卡尔智能车双车超车程序。
- 基于STM32的平衡车项目源码
-
新版顶尖上位机li
nk65 - 基于RFID技术的门禁系统-上位机VC(
- 汇川伺服调试工具
评论
共有 条评论