亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3508|回復: 1
打印 上一主題 下一主題
收起左側(cè)

μC/OS-III實驗環(huán)境建立

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:407679 發(fā)表于 2018-10-10 18:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
一、實驗目的
掌握建立μC/OS-III實驗環(huán)境的方法。
初步了解μC/OS-III任務管理函數(shù)。
初步了解μC/OS-III的結(jié)構(gòu)以及與應用程序之間的關(guān)系。
二、實驗內(nèi)容
建立VS2012或VS2013或VS2017開發(fā)平臺。
創(chuàng)建兩個任務并交替運行,在屏幕上顯示當前運行狀態(tài)。
三、實驗過程、結(jié)果
1.實驗步驟及內(nèi)容
(1)搭建VS平臺;
圖3.1 VS2015平臺界面
Micrium_Win32_OS3的對應版本是VS2013,Micrium_Win32_Kernels的對應版本是VS2017,而我的版本是VS2015,故而都嘗試了一下。
VS2015運行Micrium_Win32_Kernels時報錯界面如下:
圖3.2 報錯界面
       具體報錯內(nèi)容為:
1>------ 已啟動生成: 項目: OS3, 配置: Debug Win32 ------
1>C:\Program Files(x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(57,5):error MSB8020: The build tools for v141 (Platform Toolset = 'v141') cannot befound. To build using the v141 build tools, please install v141 buildtools.  Alternatively, you may upgrade tothe current Visual Studio tools by selecting the Project menu or right-clickthe solution, and then selecting "Retarget solution".
========== 生成: 成功 0 個,失敗 1 個,最新 0 個,跳過 0 個 ==========
按照提示我進行了重新生成解決方案,并沒有解決問題。于是嘗試用VS2015對VS2012版本對應的包進行編譯執(zhí)行。
VS2015打開Micrium_Win32_OS3時顯示如下界面:
圖3.2 升級詢問界面
       因此,點擊確定后對原本的VC++編譯器和庫進行升級即可,VS平臺搭建成功。
(2)創(chuàng)建任務
CPU總是不斷地在各個任務間切換,為了下次跳回來, CPU在跳走的同時,要保護好現(xiàn)場,故而需要用到堆棧。
給任務分配堆棧:
所以每當我們創(chuàng)建一個任務,我們都需要給這個任務分配一個堆棧。
#define  APP_TASK_STK_SIZE                             256u
(CPU_STK_SIZE)APP_TASK_STK_SIZE
創(chuàng)建任務用到OSTaskCreate()函數(shù)
    OSTaskCreate((OS_TCB     *)&AppStartTCB,   //任務控制塊指針
        (CPU_CHAR   *)"AppStart",            //任務名稱
        (OS_TASK_PTR)AppStart,                //任務代碼指針
        (void       *)0,                     //傳遞給任務的參數(shù)parg
        (OS_PRIO)APP_START_PRIO,              //任務優(yōu)先級
        (CPU_STK    *)&AppStartStk[0],        //任務堆棧基地址
        (CPU_STK_SIZE)APP_TASK_STK_SIZE / 10u, //堆棧剩余警戒線,使用90%堆棧時溢出檢查
        (CPU_STK_SIZE)APP_TASK_STK_SIZE,       //堆棧大小
        (OS_MSG_QTY)0u,                      //可接收的最大消息隊列數(shù)
        (OS_TICK)0u,                         //時間片輪轉(zhuǎn)時間
        (void       *)0,                     //任務控制塊擴展信息
        (OS_OPT)(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),  //檢查堆棧以及堆棧值清零
        (OS_ERR     *)&err);                 //返回值
其中,#define  APP_START_PRIO                       7u
表示該任務的優(yōu)先級是7,數(shù)字越小,表示任務的優(yōu)先級越高。
任務創(chuàng)建完畢,編寫AppStart。
在AppStart創(chuàng)建二個簡單的任務:TaskA和TaskB,設置AppStart 1秒執(zhí)行一次,TaskA 3秒執(zhí)行一次,TaskB 5秒執(zhí)行一次,并進行打印任務優(yōu)先級和系統(tǒng)時間。
其中用OSTimeDlyHMSM()函數(shù)進行延時。
(3)編譯執(zhí)行,在屏幕上顯示運行狀態(tài);
實驗結(jié)果分析:
可以看出,Start任務優(yōu)先級為7,每隔一秒鐘執(zhí)行一次;TaskA任務優(yōu)先級為8,每隔3秒執(zhí)行一次;TaskB任務優(yōu)先級為9,每隔5秒運行一次。任務交替運行,符合預期結(jié)果。



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:1 發(fā)表于 2018-10-11 00:16 | 只看該作者
補圖即可獲得100+黑幣
回復

使用道具 舉報

無效樓層,該帖已經(jīng)被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表