<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          uC/OSII移植步驟

          作者: 時(shí)間:2016-10-08 來源:網(wǎng)絡(luò) 收藏
          SP!, {R0-R12,LR,PC}^;pop new task's context
          2.多任務(wù)應(yīng)用程序的編寫
          1)C語言入口函數(shù)
          函數(shù)Main()為C語言入口函數(shù),所有C程序從這里開始運(yùn)行,在該函數(shù)中進(jìn)行如下操作:
          調(diào)用函數(shù)ARMTaskgetInit初始化ARM處理器
          調(diào)用OSInit初始化系統(tǒng)
          調(diào)用OSTaskCreat函數(shù)創(chuàng)建任務(wù):Task1和Task2
          調(diào)用ARMTaskgetStart函數(shù)啟動(dòng)時(shí)鐘節(jié)拍中斷
          調(diào)用OSStart啟動(dòng)系統(tǒng)任務(wù)調(diào)度
          #i nclude “config.h”
          OS_STKTaskStartStk[TASK_STK_SIZE];
          OS_STKTaskStk[TASK_STK_SIZE];
          int Main(void){
          OSInit();
          OSTaskCreate(Task1,(void*)0,TaskStartStk[TASK_STK_SIZE-1],0);
          OSStart();
          return();
          }
          2)任務(wù)處理函數(shù)
          Task1
          void Task1(void *pdata){
          pdata=pdata;
          TargetInit();
          For(;;){
          OSTimeDly(OS_TICKS_PER_SEC/50);
          If(GetKey()!=KEY1){
          continue;
          }
          OSTaskCreate(Task2,(void *)0,TaskStk[TASK_STK_SIZE-1],10);
          While(GetKey()!=0){
          OSTimeDly(OS_TICKS_PER_SEC/50);
          }
          }
          }
          Task2
          void Task2(void *pdata){
          pdata=pdata;
          BeeMoo();
          OSTimeDly(OS_TICKS_PER_SEC/8);
          BeeMoo();
          OSTimeDly(OS_TICKS_PER_SEC/4);
          BeeMoo();
          OSTimeDly(OS_TICKS_PER_SEC/8);


          關(guān)鍵詞:

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();