飞控MWC_v2.2_代码解读

飞控MWC_v2.2_代码解读

ID:39584754

大小:1.16 MB

页数:19页

时间:2019-07-06

飞控MWC_v2.2_代码解读_第1页
飞控MWC_v2.2_代码解读_第2页
飞控MWC_v2.2_代码解读_第3页
飞控MWC_v2.2_代码解读_第4页
飞控MWC_v2.2_代码解读_第5页
资源描述:

《飞控MWC_v2.2_代码解读》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、[转载]MWC v2.2 代码解读LOOP() (2013-04-0720:01:27)转载▼标签: 转载原文地址:MWC v2.2 代码解读LOOP()作者:问江南函数很长不用文字了贴个流程图,说明一切:voidloop(){  staticuint8_trcDelayCommand;//thisindicatesthenumberoftime(multipleofRCmeasurementat50Hz)thesticksmustbemaintainedtorunorswitchoffmotors  staticuint8_trcSticks;      //thisholdstick

2、spositionforcommandcombos  uint8_taxis,i;  int16_terror,errorAngle;  int16_tdelta,deltaSum;  int16_tPTerm,ITerm,DTerm;  int16_tPTermACC=0,ITermACC=0,PTermGYRO=0,ITermGYRO=0;  staticint16_tlastGyro[3]={0,0,0};  staticint16_tdelta1[3],delta2[3];  staticint16_terrorGyroI[3]={0,0,0};  staticint16_ter

3、rorAngleI[2]={0,0};  staticuint32_trcTime =0;  staticint16_tinitialThrottleHold;  staticuint32_ttimestamp_fixated=0;  #ifdefined(SPEKTRUM)    if(spekFrameFlags==0x01)readSpektrum();         //支持的一种特殊遥控器读取数据  #endif    #ifdefined(OPENLRSv2MULTI)     Read_OpenLRS_RC();                              

4、                   //支持的一种特殊的遥控器读取数据  #endif   if(currentTime>rcTime)                                          //50Hz 时间过了20ms{     rcTime=currentTime+20000;    computeRC();  //对已经接收的遥控接收的信号进行循环滤波,取4组数据,80MS,算平均值,大于平均值的减小2,小于平均值的增大2.    //Failsaferoutine-addedbyMIS    #ifdefined(FAILSAFE)      if

5、(failsafeCnt>(5*FAILSAFE_DELAY)&&f.ARMED)       //使之稳定,并设置油门到指定的值      {                           for(i=0;i<3;i++)rcData[i]=MIDRC;                             //丢失信号(in0.1sec)后,把所有通道数据设置为 MIDRC=1500          rcData[THROTTLE]=conf.failsafe_throttle;                  // 把油门设置为conf.failsafe_throttl

6、e          if(failsafeCnt>5*(FAILSAFE_DELAY+FAILSAFE_OFF_DELAY)) //在特定时间之后关闭电机(in0.1sec)          {                     go_disarm();    //Thiswillpreventthecoptertoautomaticallyrearmiffailsafeshutsitdownandprevents            f.OK_TO_ARM=0;//进入锁定状态,之后起飞需要解锁          }        failsafeEvents++;    

7、                                                         //掉落保护事件标志位至1      }      if(failsafeCnt>(5*FAILSAFE_DELAY)&&!f.ARMED)       { //Turnof"OkToarmtopreventthemotorsfromspinningafterrepoweringtheRXwithlowthrottlea

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。