• 大小: 157KB
    文件类型: .zip
    金币: 2
    下载: 2 次
    发布日期: 2021-05-15
  • 语言: 其他
  • 标签: OPENMV  MSP430F5529  

资源简介

基于MSP430F5529和OPENMV追球小车 串口通讯 波特率 9600

资源截图

代码片段和文件信息

/*
 * control.c
 *
 *  Created on: 2018年7月16日
 *      Author: shida
 */
#include “control.h“
#include  “defin.h“
#include “msp430.h“
#include  “pid.h“
#include  “math.h“
#include  “init.h“
PID_TypDef turngo_away;
float go_pid_o;
float turn_pid_o;
u16 A1=0;
extern u16 xyacreage;//查找XY 面积值
//中心坐标  163  121
u16 qjjd;
u8 fangxiang=0;
u32 hy=0;
u8 chazhao=0;
u8 flag22=0;
extern unsigned  char chuanshu;
void break_off(void)
{
    TA2CTL |= MC_1 + TASSEL_2 + TACLR;      //时钟为SMCLK比较模式,开始时清零计数器
    TA2CCTL0 = CCIE;                        //比较器中断使能
    TA2CCR0  = 1000;                           //比较值设为1000 1MS
   // TA1CCR0  = 20000;                         //比较值设为50000 50MS   TA1CCR1
}

void run_after_car(void)
{
 /************前进环设置**********/
    go_pid_o=PID_run(&go_away2500acreage);        //计算PID输出值
    if(go_pid_o<0)  { fangxiang=0;go;}              //前进
    else  { fangxiang=1;  back;}                    //后退

    go_pid_o=fabs(go_pid_o);                        //输出取整

    if(abs(acreage-2500)<700)  stop;                //停止限制幅度

    if(go_pid_o>=400)  go_pid_o=400;                //电机限速

    TA0CCR3=go_pid_o;                               //赋值给电机

/************角度环设置**********/
    if(abs(x-163)<5)  x=163;                        //死区限制幅度设置

    turn_pid_o=PID_run(&turn163x);                //计算PID输出值

    if(abs(acreage-2500)<700)  turn_pid_o=0;        //死区限制幅度设置

    if(fangxiang==0) turn_pid_o=1280-turn_pid_o;    //计算舵机值
    if(fangxiang==1) turn_pid_o=1280+turn_pid_o;    //计算舵机值


    if(turn_pid_o>=1600)   turn_pid_o=1600;         //设置舵机最大转角
    if(turn_pid_o<=900)    turn_pid_o=900;          //设置舵机最小转角
    TA1CCR1=turn_pid_o;                             //输出给PWM波
}
#pragma vector = TIMER2_A0_VECTOR
__interrupt void Timer_A (void)

{
////没有接受到数据时 后退程序
    if(chuanshu==0)
    {
       hy++;
       if(chazhao==0)                              //计数到70仍未检测到数据
       {
         if(hy==40) { stop;chazhao=1;hy=0;}        //电机停止
       }
      if(chazhao==1)                                //开始后退检测测序程序
        {
          back;                                     //后退IO设置
          TA0CCR3=650;                              //行车速度设置
          TA1CCR1=1280;                             //车头朝向摆正
          if(hy==500)   { TA1CCR1=1280;chazhao=3;} //停止
        }
      if(chazhao==3)  { stop; }                      //电机停下来
    }
///接受到数据之后处理
    if(chuanshu==1)
    {
        hy=0;                       //停止计数位清零
        run_after_car();            //运行小车PID
        chuanshu=0;                 //接受完成标志位清零
        chazhao=0;                  //停止计数标志位清零
    }


}






 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-07-17 21:02  追球小车430\
     目录           0  2018-07-17 21:01  追球小车430\430代码\
     文件         479  2016-03-22 23:01  追球小车430\430代码\.ccsproject
     文件       27343  2018-06-30 18:18  追球小车430\430代码\.cproject
     目录           0  2018-07-17 21:01  追球小车430\430代码\.launches\
     文件        4104  2016-03-02 12:01  追球小车430\430代码\.launches\Lab01-2 GPIO.launch
     文件        4285  2018-07-17 20:20  追球小车430\430代码\.launches\Lab3-1-2 GPIO.launch
     文件         843  2016-03-22 23:01  追球小车430\430代码\.project
     目录           0  2018-07-17 21:01  追球小车430\430代码\.settings\
     文件          62  2016-03-22 23:01  追球小车430\430代码\.settings\org.eclipse.cdt.codan.core.prefs
     文件         123  2014-05-28 22:00  追球小车430\430代码\.settings\org.eclipse.cdt.debug.core.prefs
     文件         208  2014-05-28 22:00  追球小车430\430代码\.settings\org.eclipse.core.resources.prefs
     目录           0  2018-07-17 21:04  追球小车430\430代码\Debug\
     文件       46546  2016-03-21 15:33  追球小车430\430代码\Debug\Lab01-2 GPIO.map
     文件      208760  2016-03-21 15:33  追球小车430\430代码\Debug\Lab01-2 GPIO_linkInfo.xml
     文件       87205  2018-07-17 21:04  追球小车430\430代码\Debug\Lab3-1-2 GPIO.map
     文件      120056  2018-07-17 21:04  追球小车430\430代码\Debug\Lab3-1-2 GPIO.out
     文件      353282  2018-07-17 21:04  追球小车430\430代码\Debug\Lab3-1-2 GPIO_linkInfo.xml
     文件         101  2018-07-17 21:04  追球小车430\430代码\Debug\ccsObjs.opt
     文件        1521  2018-07-17 21:04  追球小车430\430代码\Debug\control.d
     文件       53056  2018-07-17 21:04  追球小车430\430代码\Debug\control.obj
     文件         943  2018-07-17 21:04  追球小车430\430代码\Debug\init.d
     文件       21236  2018-07-17 21:04  追球小车430\430代码\Debug\init.obj
     文件        1665  2018-07-17 21:04  追球小车430\430代码\Debug\main.d
     文件       22900  2018-07-17 21:04  追球小车430\430代码\Debug\main.obj
     文件         667  2016-03-21 15:33  追球小车430\430代码\Debug\main.pp
     文件        3942  2018-07-17 21:04  追球小车430\430代码\Debug\makefile
     文件         248  2018-07-17 21:04  追球小车430\430代码\Debug\objects.mk
     文件         753  2018-07-17 21:04  追球小车430\430代码\Debug\oled.d
     文件       25776  2018-07-17 21:04  追球小车430\430代码\Debug\oled.obj
     文件         263  2018-07-17 21:04  追球小车430\430代码\Debug\pid.d
............此处省略19个文件信息

评论

共有 条评论