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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > uC/OSII移植步驟

          uC/OSII移植步驟

          作者: 時間:2016-10-08 來源:網絡 收藏
          SP!, {R0-R12,LR,PC}^;pop new task's context
          2.多任務應用程序的編寫
          1)C語言入口函數
          函數Main()為C語言入口函數,所有C程序從這里開始運行,在該函數中進行如下操作:
          調用函數ARMTaskgetInit初始化ARM處理器
          調用OSInit初始化系統(tǒng)
          調用OSTaskCreat函數創(chuàng)建任務:Task1和Task2
          調用ARMTaskgetStart函數啟動時鐘節(jié)拍中斷
          調用OSStart啟動系統(tǒng)任務調度
          #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)任務處理函數
          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);


          關鍵詞:

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();