日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

UCOS 杂项 笔记

發布時間:2023/10/11 综合教程 90 老码农
生活随笔 收集整理的這篇文章主要介紹了 UCOS 杂项 笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.  建立任務和建立數據隊列  哪個先建立?

  經過試驗得知,數據隊列和任務的建立先后沒有順序,都可以正常運行.

2.關于主函數的面試問題。

主函數寫法有:   int  main()    和void  main()

int main()     表示該函數必須有返回值,即程序實現中一定要有return xx;字樣
void main()   表示函數不需要返回值,一定不能有return xx字樣
                   否則程序編譯都會出錯

如果括號里面還有個  “void” 意思就是空  ,即 函數沒有參數。

3.任務建立函數注意要點

調試函數花費一上午時間,問題澤恩也找不到,原來是格式不對。

OSTaskCreate(MyTask,(void*)0,&MyTaskStk(TASK_STK_SIZE-1),3);

上面這個任務建立函數出問題了  ,怎么也找不到原因???????????

仔細看是格式不對了,“【】”寫成了“()”

下面這個建立任務是正確的:

OSTaskCreate(StartTask, (void *)0, &StartTaskStk[TASK_STK_SIZE-1], 0);

4.void OSStatInit (void)

#if OS_TASK_STAT_EN > 0
void  OSStatInit (void)
{
#if OS_CRITICAL_METHOD == 3               
    OS_CPU_SR  cpu_sr;
#endif   
   
   
    OSTimeDly(2);                         
    OS_ENTER_CRITICAL();
    OSIdleCtr    = 0L;                   
    OS_EXIT_CRITICAL();
    OSTimeDly(OS_TICKS_PER_SEC / 10);     
    OS_ENTER_CRITICAL();
    OSIdleCtrMax = OSIdleCtr;             
    OSStatRdy    = TRUE;
    OS_EXIT_CRITICAL();
}
#endif

在OSStatInit一開始延遲時間為2時鐘節拍里:

第一,在就緒表中刪除掉當前任務的就緒標志,這個當前任務也就是調用OSStatInt( )的用戶編寫的TaskStart()任務,這是用戶創建的優先級最高的任務;

第二,令OSTCBDly = ticks也就是這個任務要延遲ticks所代表的時間;

第三,調用 OS_Sched( ),進行一次任務調度,在任務調度里找出優先級最高的任務,并進行任務切換,切換到現在的具有最高優先級的任務,使其運行。此時在任務調度的時候,TaskStart()任務又重新處于就緒狀態,此時程序從OSTimeDly(2)中返回,接著執行下面下面的程序。執行完OSIdleCtr= 0L; 后,又進入一個延時程序OSTimeDly(OS_TICKS_PER_SEC / 10);  ,本程序是又延遲了100毫秒,在這100毫秒中,TaskStart()任務處于等待狀態,因此在這100毫秒中執行的是Idle任務。Idle任務會不斷給OSIdelCtr計數,從而100毫秒后OSIdelCtr記錄的就是100毫秒內被增加的最大次數(在這一秒中沒有其它任務高于Idle任務,所以結果是最大的)。100毫秒延遲結束后。TaskStart()任務重新就緒,獲得cpu使用權,就執行OSIdleCtrMax = OSIdleCtr;    OSStatRdy = TRUE;此后程序結束。

OSStatInit一開始延遲時間為2時鐘節拍,用于保持與系統時鐘的同步,因為延遲之后調用的第一個語句為“OSIdelCtr=0”,基本不用花費系統時間,然后就進入第二個語句OSTimeDly(OS_TICKS_PER_SEC);   相當于再次延遲1s;在這延遲的一秒中,Idle任務會不斷給OSIdelCtr計數,從而1s后OSIdelCtr記錄的就是1s內被增加的最大次數(在這一秒中沒有其它任務高于Idle任務,所以結果是最大的)。

在建立其他任務之前,必須調用OSStatInit()來確定用戶的PC有多快。在一開始,OSStatInit()就將自身延時了兩個時鐘節拍,這樣它就可以與時鐘節拍中斷同步。因此,OSStatInit()必須在時鐘節拍啟動之后調用;否則,用戶的應用程序就會崩潰。當µC/OS-II調用OSStatInit()時,一個32位的計數器OSIdleCtr被清為0 ,并產生另一個延時,這個延時使OSStatInit()掛起。此時,uCOS-II沒有別的任務可以執行,它只能執行空閑任務(µC/OS-II的內部任務)。空閑任務是一個無線的循環,它不斷的遞增OSIdleCtr。1秒以后,uCOS-II重新開始OSStatInit(),并且將OSIdleCtr保存在OSIdleMax中。所以OSIdleMax是OSIdleCtr所能達到的最大值。而當用戶再增加其他應用代碼時,空閑任務就不會占用那樣多的CPU時間。OSIdleCtr不可能達到那樣多的記數,如果用戶程序每秒撫慰一次OSIdleCtr()。CPU利用率的計算由µC/OS-II 中的OSStatTask()函數來完成,這個任務每秒執行一次。而當OSStatRdy置為TRUE表示µC/OS-II將統計CPU的利用率。

OSStatInit()將返回到TaskStart()。所有任務可以都由TaskStart()中建立,由于TaskStart()的優先級為0(最高),新任務建立后不進行任務調度。當所有任務都建立完成后,TaskStart()將進入無限循環之中。

做嵌入式應用時,用戶必須在第一個任務中打開時鐘節拍中斷。

void ARMStartTimer(void)
{
 //autoreload and start  m
 rTCON = 0x9;  
}

總結

以上是生活随笔為你收集整理的UCOS 杂项 笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产不卡一区二区视频 | 亚洲综合成人亚洲 | 日b视频在线观看 | 婷婷国产成人精品视频 | 精品动漫一区二区三区在线观看 | 天天免费视频 | 善良的公与媳hd中文字 | 欧美激情天堂 | 爱视频福利网 | 国产69精品久久久久久 | 亚洲欧美精品suv | 欧美一级黄色网 | 亚欧美一区二区三区 | a天堂在线观看视频 | 动漫美女露胸网站 | 91浏览器在线观看 | 国产夫绿帽单男3p精品视频 | 先锋影音av中文字幕 | 一级特黄录像免费看 | 久久精品视频99 | 亚洲看片 | 国产午夜成人久久无码一区二区 | 天天躁日日躁狠狠躁av麻豆 | 在线国产区 | 动漫精品一区二区三区 | 国产精品美女久久久久久 | 久久久青青草 | 日本亲与子乱xxx | 日日日插插插 | 日韩av在线影院 | 午夜成人免费影院 | 男人网站在线观看 | 中文字幕乱码在线人视频 | 狠狠撸在线 | 中国免费黄色片 | 国产精品久久久久久久久久久免费看 | 亚洲av无码一区二区三区网址 | 粉嫩在线 | 久久久久亚洲精品系列色欲 | 男女做爰猛烈刺激 | 日韩免费影院 | 一级特黄aa大片欧美 | 国产精品一区二区三区四区视频 | 国产成人精品视频ⅴa片软件竹菊 | 国产视频一区二区三区四区 | 丰满护士巨好爽好大乳 | 我要看免费的毛片 | 亚洲调教 | 在线日韩一区二区 | 性一区 | 欧美黄一级 | 制服.丝袜.亚洲.中文.综合懂 | 欧美色图久久 | 亚洲日本网站 | 久久美女视频 | 成人免费视频免费观看 | 男人天堂导航 | 波多野结衣在线 | 成人性生交大免费看 | 久久av无码精品人妻出轨 | 秋霞在线观看视频 | 免费毛片在线播放 | 国产www精品 | 四虎国产 | 国产精品资源网 | 影音先锋国产在线 | 91精品久久久久久综合五月天 | 五月天婷婷基地 | 日韩亚洲一区二区三区 | 欧美精品一区在线观看 | 欧美日韩综合视频 | 91网在线播放| 91秦先生在线播放 | 免费观看黄色小视频 | 久久国产剧情 | 三级视频小说 | 麻豆三级 | 在线观看免费av网站 | 色姑娘综合 | 国产尤物网站 | 66亚洲一卡2卡新区成片发布 | 国内自拍第三页 | 亚洲激情一区二区 | 无码国产69精品久久久久网站 | 精品+无码+在线观看 | 精品视频一区二区 | 亚洲三区在线 | 国内外成人激情视频 | 成人午夜视频一区二区播放 | 琪琪原网址 | 毛片一级在线观看 | 又黄又爽网站 | 亚洲一级网| 欧美成人免费一级人片100 | 曰韩精品 | 国产精品一区av | 中文久久久 | 精品人妻在线视频 | 亚洲精品国产成人 |