• 大小: 8.89MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-19
  • 语言: 其他
  • 标签: Robomaste  步兵  嵌入  

资源简介

Robomaster机甲大赛2016年开源步兵车代码,可移植行强

资源截图

代码片段和文件信息

#include “main.h“
#include “stdio.h“

static uint32_t can_count = 0;

volatile Encoder CM1Encoder = {000000000};
volatile Encoder CM2Encoder = {000000000};
volatile Encoder CM3Encoder = {000000000};
volatile Encoder CM4Encoder = {000000000};
volatile Encoder GMYawEncoder = {000000000};
volatile Encoder GMPitchEncoder = {000000000};
float ZGyroModuleAngle = 0.0f;
/*
***********************************************************************************************
*Name          :GetEncoderBias
*Input         :can message
*Return        :void
*Description   :to get the initiatial encoder of the chassis motor 201 202 203 204
*
*
***********************************************************************************************
*/

void GetEncoderBias(volatile Encoder *v CanRxMsg * msg)
{

            v->ecd_bias = (msg->Data[0]<<8)|msg->Data[1];  //保存初始编码器值作为偏差  
            v->ecd_value = v->ecd_bias;
            v->last_raw_value = v->ecd_bias;
            v->temp_count++;
}

/*
***********************************************************************************************
*Name          :EncoderProcess
*Input         :can message
*Return        :void
*Description   :to get the initiatial encoder of the chassis motor 201 202 203 204
*
*
***********************************************************************************************
*/
void EncoderProcess(volatile Encoder *v CanRxMsg * msg)
{
int i=0;
int32_t temp_sum = 0;    
v->last_raw_value = v->raw_value;
v->raw_value = (msg->Data[0]<<8)|msg->Data[1];
v->diff = v->raw_value - v->last_raw_value;
if(v->diff < -7500)    //两次编码器的反馈值差别太大,表示圈数发生了改变
{
v->round_cnt++;
v->ecd_raw_rate = v->diff + 8192;
}
else if(v->diff>7500)
{
v->round_cnt--;
v->ecd_raw_rate = v->diff- 8192;
}
else
{
v->ecd_raw_rate = v->diff;
}
//计算得到连续的编码器输出值
v->ecd_value = v->raw_value + v->round_cnt * 8192;
//计算得到角度值,范围正负无穷大
v->ecd_angle = (float)(v->raw_value - v->ecd_bias)*360/8192 + v->round_cnt * 360;
v->rate_buf[v->buf_count++] = v->ecd_raw_rate;
if(v->buf_count == RATE_BUF_SIZE)
{
v->buf_count = 0;
}
//计算速度平均值
for(i = 0;i < RATE_BUF_SIZE; i++)
{
temp_sum += v->rate_buf[i];
}
v->filter_rate = (int32_t)(temp_sum/RATE_BUF_SIZE);
}

/*
************************************************************************************************************************
*Name        : CanReceiveMsgProcess
* Description: This function process the can message representing the encoder data received from the CAN2 bus.
* Arguments  : msg     is a pointer to the can message.
* Returns    : void
* Note(s)    : none
************************************************************************************************************************
*/
void CanReceiveMsgProcess(CanRxMsg * msg)
{      
        //GMYawEncoder.ecd_bias = yaw_ecd_bias;
        can_count++;
switch(msg->StdI

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       8122  2016-05-09 22:02  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\CanBusTask.c

     文件       8046  2016-05-06 10:45  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\CanBusTask.c.bak

     文件       8046  2016-05-06 10:45  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\CanBusTask.c.bak.bak

     文件       1201  2016-05-06 12:04  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\CanBusTask.h

     文件       1201  2016-05-06 12:04  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\CanBusTask.h.bak

     文件       1201  2016-05-06 12:04  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\CanBusTask.h.bak.bak

     文件      12800  2016-05-09 21:51  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\ControlTask.c

     文件      12080  2016-05-06 10:58  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\ControlTask.c.bak

     文件      12080  2016-05-06 10:58  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\ControlTask.c.bak.bak

     文件       4324  2016-05-09 21:54  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\ControlTask.h

     文件       4322  2016-05-05 16:45  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\ControlTask.h.bak

     文件       4322  2016-05-05 16:45  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\ControlTask.h.bak.bak

     文件      17409  2016-05-09 14:57  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\IOTask.c

     文件      17409  2016-05-09 14:57  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\IOTask.c.bak

     文件      17409  2016-05-09 14:57  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\IOTask.c.bak.bak

     文件       5399  2016-05-06 21:50  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\IOTask.h

     文件       5399  2016-05-06 21:50  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\IOTask.h.bak

     文件       5399  2016-05-06 21:50  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\IOTask.h.bak.bak

     文件      11029  2016-05-05 20:46  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\RemoteTask.c

     文件      11029  2016-05-05 20:46  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\RemoteTask.c.bak

     文件      11029  2016-05-05 20:46  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\RemoteTask.c.bak.bak

     文件       4618  2016-05-06 12:04  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\RemoteTask.h

     文件       4618  2016-05-06 12:04  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\RemoteTask.h.bak

     文件       4618  2016-05-06 12:04  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\RemoteTask.h.bak.bak

     文件       4406  2016-05-09 21:58  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\SuperviseTask.c

     文件       4406  2016-05-05 20:48  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\SuperviseTask.c.bak

     文件       4406  2016-05-05 20:48  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\SuperviseTask.c.bak.bak

     文件       3555  2016-05-05 19:45  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\SuperviseTask.h

     文件       3555  2016-05-05 19:45  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\SuperviseTask.h.bak

     文件       3555  2016-05-05 19:45  RM2016步兵车开源代码_下\RM2016步兵车开源代码  下\RM2016_INFANTRY_OPEN_SOURCEV.1.6.4\APP\SuperviseTask.h.bak.bak

............此处省略925个文件信息

评论

共有 条评论