亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.c.rpk

?? 這是一個飛思卡爾智能車比賽的一個完整的程序
?? RPK
字號:
/********************************************************************
/                                                                    /
/                 MicroC/Os-II The Real-Time Kernel                                                  /
/	                main.c                                                   /
*********************************************************************/
#include "mc9s12dg128.h "
#include "includes.h" 
#include "global.h"
#include "lib.h"
#include "int.h"
/********************************************************************/
void TaskStart(void *pdata);
void TaskPCCom(); 
void TaskEepromBufSav(void *pdata); 
void TaskCCDInfoPro(void);
void TaskLineStyleReco(void);
void TaskSteerPDCtr(void *pdata);
void TaskInfoDis(void *pdata);
void TaskPelsValveInit(void *pdata);
void TaskMakeLine(void *pdata);
/********************************************************************/
void main(void)
{ 
	OSInit();
	SemSteerPDCtr=OSSemCreate(1);
	SemCCDInfoPro=OSSemCreate(1);
	SemBeeLineStyle=OSSemCreate(1);
	SemAcrossStyle=OSSemCreate(1);
	SemPCCom=OSSemCreate(1);
	SemEepromBufSav=OSSemCreate(1);
	SemMakeLine=OSSemCreate(1);
	OSTaskCreate(TaskStart,(void *)0,&TaskStartStk[TASK_STK_SIZE-1],5);                    
	OSTaskCreate(TaskPelsValveInit,(void *)0,&TaskPelsValveInitStk[TASK_STK_SIZE-1],8);
	if(ExtOSSystemStart==1)
	{
	OSTaskCreate(TaskLineStyleReco,(void *)0,&TaskLineStyleRecoStk[TASK_STK_SIZE-1],9);
	}			 	
	OSTaskCreate(TaskCCDInfoPro,(void *)0,&TaskCCDInfoProStk[TASK_STK_SIZE-1],10);
  OSTaskCreate(TaskMakeLine,(void *)0,&TaskMakeLineStk[TASK_STK_SIZE-1],11); 	
  OSTaskCreate(TaskSteerPDCtr,(void *)0,&TaskSteerPDCtrStk[TASK_STK_SIZE-1],12);
  OSTaskCreate(TaskEepromBufSav,(void *)0,&TaskEepromBufSavStk[TASK_STK_SIZE-1],13);  	 	
	OSTaskCreate(TaskInfoDis,(void *)0,&TaskInfoDisStk[TASK_STK_SIZE-1],14);	 	
  OSTaskCreate(TaskPCCom,(void *)0,&TaskPCComStk[TASK_STK_SIZE-1],15);
	OSStart();
}
/********************************************************************/
void TaskStart(void *pdata)
     {   
     pdata=pdata;
     OSTaskSuspend(9);
     OSTaskSuspend(14); 
     OSTaskSuspend(15);
     OSTimerInit();//Enableinterrupt;
     Lib_PA_INIT();
     //LibRTIInit();
     OSStatInit(); 
     for(;;)
        {
        PORTB=~PORTB;         
        OSTaskSuspend(5);
        }                             
     }
/********************************************************************/
void TaskPelsValveInit(void)
     {
     uchar pels;
     uchar pelsmax;
     uchar pelsmin;
     uchar cnt=0;
     //uchar lines=0;  
     for(;;)
        {
        OSSemPend(SemCCDInfoPro,0,&err);
        pelsmax=ExtPelsVal[0][0];
        pelsmin=ExtPelsVal[0][0];
        for(pels=1;pels<35;pels++)
           {
            if(pelsmax<ExtPelsVal[0][pels])
              {
              pelsmax=ExtPelsVal[0][pels];
              }
              else
              {
              if(pelsmin>ExtPelsVal[0][pels])
                {
                pelsmin=ExtPelsVal[0][pels];
                }
              }
           }
        ExtPelsValve=(pelsmax*4+pelsmin*6)/10+ExtPelsValve;
        cnt++;
        if(cnt==100)
          {
          ExtPelsValve=ExtPelsValve/100;
          PWME=0b00101010;
          PORTB=~PORTB;
          OSTaskResume(9); 
          OSTaskResume(14);          
          OSTaskSuspend(8);
          }  
       }     
     } 
/********************************************************************/
void TaskLineStyleReco(void)
     {
     uchar pels;
     uchar cnt=0;
     for(;;)
        {
        OSSemPend(SemCCDInfoPro,0,&err); 
        for(pels=0;pels<35;pels++)
           {
           ExtPosValAcc=ExtPosValAcc+ExtPelsVal[ExtLines][pels];
           }
           ExtPosValAvg=ExtPosValAcc/35;
           ExtPosValAcc=0;
        if(ExtPosValAvg<ExtPelsValve&&ExtPosValAvg!=0)
          {
          for(pels=0;pels<35;pels++)
             {
             if(ExtPelsVal[ExtLines][pels]<ExtPelsValve&&pels<34)
               {
               cnt++;      
               }
             else
               {
               if(cnt>3)
                 {
                 if(ExtPelsVal[ExtLines][35]<=254)
                   {ExtPelsVal[ExtLines][35]=253;} 
                   else
                   {ExtPelsVal[ExtLines][35]=254;}  
                 }
               cnt=0;
               }           
            }
          if(ExtPelsVal[ExtLines][35]==254)
            {
            PTM_PTM0=1;
            Lib_AlARM_START();
            ExtPelsVal[ExtLines][35]=255;
            }
          else
            {
            PTM_PTM2=1;
            Lib_AlARM_START(); 
            ExtPelsVal[ExtLines][35]=255;            
            } 
          }
        else
          {
          Lib_AlARM_END();
          PORTB_BIT2=~PORTB_BIT2;
          OSSemPost(SemBeeLineStyle); 
          }  
        }
     }
/********************************************************************/
void TaskCCDInfoPro(void *pdata)
     {
     uint  ExtPosChk[3][3]={0,0,0,0,0,0,0,0,0};
     uchar poschkcntval=0;   //黒點數閥值 
     uchar poschkcnt=0;      //信息存放區下標
     uchar pels=0;             //像素
     uchar cnt=0;            //黒點記數
     uchar lostchk=0;        //信息有效確認,1為有效,0為無效
     ///
     uchar lostpels=252;        //丟失點標明
     ///
     uchar poschkminavgcnt=0;   //均值最小下標
     uint  poschkminavg=0;      //最小均值
     ///
     uchar poschkaccmaxvalcnt=0;//黒點記數最大下標
     uchar poschkaccmaxval=0;   //最大黒點記數
     ///
     pdata=pdata;
     for(;;)
        {
        OSSemPend(SemBeeLineStyle,0,&err); 
        ////////////// //設定不同行的黒線確定點數
        if(ExtLines<5)     
          {
          poschkcntval=2;
          }
        else
          {
          poschkcntval=1;
          }
        /////////////////////////////////////////
        for(pels=0;pels<35;pels++)
           {
           ///////////////
           if(ExtPelsVal[ExtLines][pels]<ExtPelsValve)
             {
             cnt++;//黒點記數
             ExtPosChk[poschkcnt][0]=ExtPosChk[poschkcnt][0]+ExtPelsVal[ExtLines][pels]; //值累加
             /////////////////////////////////當黒點在34時,不會進入檢測程序,因而在些開設檢測
             if(pels==34&&cnt>poschkcntval) 
               {
               lostchk=1;//指明此行有黒點,信息有效
               ExtPosChk[poschkcnt][2]=cnt;//黒點
               ExtPosChk[poschkcnt][1]=pels+1-cnt/2;//位置
               ExtPosChk[poschkcnt][0]=ExtPosChk[poschkcnt][0]/cnt;//均值 
               /////////////////////////////////防止程序異常
               if(ExtPosChk[poschkcnt][1]<1)
                 {ExtPosChk[poschkcnt][1]=1;}
               if(ExtPosChk[poschkcnt][1]>35)
                 {ExtPosChk[poschkcnt][1]=35;} 
               poschkcnt++;
               cnt=0;   
               }
             }
           else
             {
             ///////////////////////從黒點變白點時進入此程序,大于

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色狠狠一区二区| 中文字幕av一区二区三区免费看| 欧美一区日本一区韩国一区| 久久伊99综合婷婷久久伊| 国产精品久久久久天堂| 青椒成人免费视频| 91久久国产综合久久| 久久理论电影网| 天天av天天翘天天综合网| 成人avav影音| 中文字幕欧美三区| 青青草国产成人99久久| 欧美影院精品一区| 亚洲激情自拍偷拍| 波多野结衣欧美| 国产色产综合色产在线视频 | 免费高清成人在线| 在线视频你懂得一区| 中文字幕一区二区不卡| 成人午夜激情片| 久久久欧美精品sm网站| 奇米影视7777精品一区二区| 欧美日韩一区视频| 一区二区理论电影在线观看| 91丨porny丨中文| 中文字幕制服丝袜一区二区三区| 精品在线播放午夜| 欧美videossexotv100| 日本大胆欧美人术艺术动态| 欧美视频精品在线观看| 亚洲成人在线网站| 欧美日韩一区二区电影| 视频一区二区欧美| 欧美一区二区三区在线电影| 日韩高清一区二区| 欧美成人一区二区三区在线观看 | 欧美日韩一区二区在线观看| 亚洲精品久久嫩草网站秘色| 一本色道a无线码一区v| 亚洲最新视频在线观看| 欧美日韩国产在线观看| 秋霞午夜av一区二区三区| 日韩欧美一区二区不卡| 精品在线亚洲视频| 中文字幕乱码一区二区免费| 91在线码无精品| 亚洲一区二区三区在线看| 欧美美女一区二区在线观看| 蜜臀av性久久久久蜜臀av麻豆 | 欧美日韩亚洲综合在线| 日韩精品三区四区| 久久精品一级爱片| 91免费版pro下载短视频| 一区二区免费看| 精品久久人人做人人爽| 国产iv一区二区三区| 亚洲激情综合网| 日韩精品影音先锋| www.日本不卡| 日韩精品91亚洲二区在线观看 | 国产又黄又大久久| 成人欧美一区二区三区小说| 欧美在线看片a免费观看| 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美aaa在线| 欧美国产综合一区二区| 在线观看免费成人| 国内精品久久久久影院色| 中文字幕亚洲精品在线观看| 在线不卡免费av| 99在线精品观看| 久久国产精品第一页| 亚洲色图另类专区| 精品少妇一区二区三区| 91久久精品一区二区| 国产精选一区二区三区| 亚洲国产精品嫩草影院| 国产精品蜜臀av| 欧美不卡一二三| 欧美亚洲精品一区| av男人天堂一区| 国产综合色视频| 日韩av成人高清| 亚洲在线视频免费观看| 国产日韩欧美一区二区三区乱码| 欧美三级电影一区| av高清久久久| 成人理论电影网| 激情综合五月婷婷| 日韩国产精品91| 亚洲成人免费看| 亚洲伦理在线精品| 久久精品一区蜜桃臀影院| 日韩精品在线看片z| 欧美日本精品一区二区三区| 99视频一区二区| 国产精品伊人色| 久久精品国产**网站演员| 亚洲国产另类精品专区| 亚洲黄色av一区| 综合婷婷亚洲小说| 国产精品蜜臀在线观看| 久久精品亚洲国产奇米99| 久久婷婷一区二区三区| 精品欧美一区二区在线观看| 在线播放中文字幕一区| 欧美精品高清视频| 欧美群妇大交群的观看方式| 色香蕉成人二区免费| 99精品国产视频| 99久久精品情趣| 91毛片在线观看| 在线精品视频小说1| 99精品视频在线播放观看| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 亚洲精品在线免费播放| 欧美一区二区视频免费观看| 欧美日韩电影在线播放| 欧美日韩国产在线播放网站| 在线不卡一区二区| 欧美变态口味重另类| 国产无人区一区二区三区| 欧美激情一区二区三区不卡| √…a在线天堂一区| 亚洲欧美日韩一区二区三区在线观看| 亚洲欧洲日本在线| 亚洲国产综合色| 日本不卡1234视频| 国产一区二区三区免费看| 成人高清视频免费观看| 色琪琪一区二区三区亚洲区| 日本电影欧美片| 欧美一区二区三级| 久久久99久久| 一区二区在线观看免费视频播放| 午夜精品福利一区二区三区av| 日本中文字幕一区二区视频| 狠狠色狠狠色合久久伊人| 成人白浆超碰人人人人| 欧洲av一区二区嗯嗯嗯啊| 日韩美女视频在线| 日韩毛片精品高清免费| 五月天激情综合网| 国产美女娇喘av呻吟久久| 色综合久久天天综合网| 91精品国产综合久久精品| 欧美国产成人在线| 亚洲国产精品人人做人人爽| 国产一区二区不卡| 日本韩国精品一区二区在线观看| 欧美日韩欧美一区二区| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 国产欧美久久久精品影院| 亚洲激情中文1区| 精品一区二区三区日韩| 成人一级片在线观看| 欧美日韩精品高清| 国产精品每日更新在线播放网址| 亚洲成人自拍网| 不卡的av在线播放| 日韩美女一区二区三区四区| 亚洲激情自拍偷拍| 国产黄色精品视频| 欧美精品久久久久久久多人混战 | 国产网红主播福利一区二区| 亚洲线精品一区二区三区八戒| 韩国在线一区二区| 欧美日韩视频不卡| 国产精品国产三级国产aⅴ入口| 日韩电影一区二区三区四区| 成人动漫一区二区在线| 欧美成人激情免费网| 亚洲风情在线资源站| 91社区在线播放| 欧美激情综合五月色丁香小说| 免费看欧美女人艹b| 欧美中文字幕亚洲一区二区va在线 | 精品福利在线导航| 五月婷婷另类国产| 欧美亚洲禁片免费| 亚洲欧美另类小说视频| 高清国产一区二区| 久久一二三国产| 蜜臀久久久久久久| 欧美一二三区在线| 亚洲成人久久影院| 欧美丝袜自拍制服另类| 亚洲精品国产无天堂网2021 | 激情欧美一区二区三区在线观看| 欧美亚洲国产怡红院影院| 亚洲欧美自拍偷拍| 国产69精品久久99不卡| 久久久欧美精品sm网站| 国产精品99久久久久久久女警 | 精品久久久久久久久久久久包黑料| 亚洲线精品一区二区三区| 欧美日韩免费观看一区三区| 亚洲一区二区欧美日韩| 欧美日韩国产系列| 日本欧美在线观看|