-
大小: 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_li
?????文件???????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_li
?????文件?????????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\ob
?????文件?????????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個文件信息
- 上一篇:NC6多子表表頭表體合計.docx
- 下一篇:LibJosnSerial.rar
評論
共有 條評論