<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                獲得更多資料歡迎進入[我的網站](http://rlovep.com/)或者 [csdn](http://blog.csdn.net/peace1213)或者[博客園](http://www.cnblogs.com/onepeace/) > 對于有熱心的小伙伴在[微博](http://weibo.com/u/2026326475/)上私信我,說我的[uC/OS-II 一些函數簡介](http://blog.csdn.net/peace1213/article/details/47056651)篇幅有些過于長應該分開介紹。應小伙伴的要求,特此將文章分開進行講解。本文主要介紹OSInit()初始化函數 ## OSInit()主要作用 在uC/OS II的學習中,OSInit(OS_CORE.C )(函數原型位于);是一個重要的函數,它在OS應用中的main()函數中首先被調用,是OS運行的第一個函數,它完成各初始變量的初始化。 ## 主要工作:完成下面的初始化; ~~~ OSInitHookBegin(); /* 調用用戶特定的初始化代碼(通過一個接口函數實現用戶要求的插件式進入系統中)*/ OS_InitMisc(); /* 初始化變量*/ OS_InitRdyList(); /* 初始化就緒列表*/ OS_InitTCBList(); /* 初始化OS_TCB空閑列表*/ OS_InitEventList(); /* 初始化OS_EVENT空閑列表*/ OS_InitTaskIdle(); /*創建空閑任務*/ ~~~ ## 程序注釋詳解: ~~~ void OSInit (void) { #if OS_TASK_CREATE_EXT_EN > 0u #if defined(OS_TLS_TBL_SIZE) && (OS_TLS_TBL_SIZE > 0u) INT8U err; #endif #endif OSInitHookBegin(); /* 調用用戶特定的初始化代碼(通過一個接口函數實現用戶要求的插件式進入系統中)*/ OS_InitMisc(); /* 初始化變量*/ /* Initialize miscellaneous variables */ OS_InitRdyList(); /* 初始化就緒列表*/ /* Initialize the Ready List */ OS_InitTCBList(); /* 初始化OS_TCB空閑列表*/ /* Initialize the free list of OS_TCBs */ OS_InitEventList(); /* 初始化OS_EVENT空閑列表*/ /* Initialize the free list of OS_EVENTs */ #if (OS_FLAG_EN > 0u) && (OS_MAX_FLAGS > 0u) OS_FlagInit(); /* 初始化事件標志結構*/ /* Initialize the event flag structures */ #endif #if (OS_MEM_EN > 0u) && (OS_MAX_MEM_PART > 0u) OS_MemInit(); /* 初始化內存管理器*/ /* Initialize the memory manager */ #endif #if (OS_Q_EN > 0u) && (OS_MAX_QS > 0u) OS_QInit(); /* 初始化消息隊列結構*/ /* Initialize the message queue structures */ #endif #if OS_TASK_CREATE_EXT_EN > 0u #if defined(OS_TLS_TBL_SIZE) && (OS_TLS_TBL_SIZE > 0u) OS_TLS_Init(&err); /* 創建任務前初始化TLS*/ /* Initialize TLS, before creating tasks */ if (err != OS_ERR_NONE) { return; } #endif #endif OS_InitTaskIdle(); /* 創建空閑任務(無條件)Create the Idle Task */ #if OS_TASK_STAT_EN > 0u OS_InitTaskStat(); /* 創建統計任務*/ /* Create the Statistic Task */ #endif #if OS_TMR_EN > 0u OSTmr_Init(); /* 初始化時間管理器*/ /* Initialize the Timer Manager */ #endif OSInitHookEnd(); /*調用用戶特定的初始化代碼*/ #if OS_DEBUG_EN > 0u OSDebugInit(); #endif } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看