娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年12月10日(星期二)

正在發生

2019年12月10日 | uCos 之 TaskIdle() 注意事項【worldsing筆記】

發布者:RadiantSerenity 來源: eefocus關鍵字:uCos  TaskIdle  注意事項 手機看文章 掃描二維碼
隨時隨地手機看文章

在大多OS里都存在Idle線程或任務,同樣uCos也不例外,為什么估計很少有人細研究。為什么設立Idle? 能不能去了?


首先看看uCos中關于Idle的代碼做個介紹:


config.h里對Idle的配置:

#define OS_LOWEST_PRIO              7     /* 最低優先級,OS_LOWEST_PRIO即空閑任務優先級(0 ~ 63)    */ 
     #define OS_TASK_IDLE_STK_SIZE    32    /* 空閑任務棧容量   單位類型:OS_STK *                            */

 

在Core.c文件里的OSInit()調用OS_InitTaskIdle();來創建OS_TaskIdle任務,OS_InitTaskIdle();封裝

CreateTask()的不同創建方法,有帶ID名,有不帶ID名的。

 

在Core.c文件里的OS_TaskIdle線程體

void  OS_TaskIdle (void *pdata) 
    { 
        #if OS_CRITICAL_METHOD == 3                    /* Allocate storage for CPU status register           */ 
        OS_CPU_SR  cpu_sr; 
       #endif    
       pdata = pdata;                                           /* Prevent compiler warning for not using 'pdata'   */ 
       for (;;)


        OS_ENTER_CRITICAL(); 
        OSIdleCtr++; 
        OS_EXIT_CRITICAL(); 
        #if OS_TASK_IDLE_HOOK_EN > 0                 /* Allocate storage for CPU status register           */        
        OSTaskIdleHook();                                    /* Call user definable HOOK                               */ 
      #endif   

  } 
   }


空閑任務


描述:這個函數是uCOS-II內部函數,uCOS-II總要建立一個空閑任務,這個任務在沒有其它任務進入


緒態時投入運行。這個空閑任務永遠設為最低優先級,即OS_LOWEST_PRIO.空閑任務不可能 被應用軟件刪除。


之所以設立Idle是因為當用戶任務都不行用cpu時有Idle回收,應為cpu總德有一個任務,或是有一個入口讓cpu停止工作。這種情況是在用戶任務都處于掛起或是延時時,那么以uCos的調度器結構來說總有一個任務才能調度


這個任務就是Idle. 所以在Idle里不能將Idle自己掛起或是延時。否則系統將會崩潰。為了驗證這個說法舉例說明問題:


建立兩個用戶任務,統計任務不使用,加上Idle一共3個任務,3個任務同是用OSTimeDly();即所有任務都放棄CPU連Idle也放棄。


/*   用戶任務1 */ 
void  MainTask (void *pArg) 

     OSSetupTask(Task0, 2); 
    while(1) 
    { 
        pArg = pArg; 
         OSTimeDly(50000); 
    } 
}

 

/*  用戶任務 */ 
void Task0 (void *pArg) 

    int cnt; 
  cnt = 0; 
    while(1) 
    { 
        pArg = pArg; 
        OSTimeDly(50000); 
        cnt++; 
        if(cnt == 100) 
            while(1); 
    } 
}

 

OSTaskIdleHook()

{

OSTimeDly(100);

OSTimeDly(50); 

}

 

stm32運行是直接是HardFault伺候。

 

所以在uCos里Idle永遠是就緒態,不要在OSTaskIdleHook()中調用可以使任務掛起的PEND函數,


OSTimeDly()函數和OSTaskSuspend()函數等延時掛起操作,否則系統將會崩潰。


Idle能不能去了?答案是可以的,但是得修改調度器的寫法,其實Idle也吃內存。至少20 個字。

關鍵字:uCos  TaskIdle  注意事項 引用地址:uCos 之 TaskIdle() 注意事項【worldsing筆記】

上一篇:stm32 時鐘配置——外部時鐘倍頻、內部時鐘倍頻
下一篇:stm32_CAN總線知識

推薦閱讀

隨著科技的發展,人工智能發展迅速,機器人也出現在了人們的視野中,對于人工智能最直觀的解釋,可能來自好萊塢電影。《終結者》、《A.I.》、《I,Robot》、《黑客帝國》等眾多經典科幻電影,都描繪了一個機器人與人類共存的世界。然而,大部分的論調都集中在“機器毀滅人類”、“機器控制人類作為其能源來源”等方面,所以機器人到底是人類的朋友還是敵人...
“慕展”旗下的重要品牌展會——慕尼黑上海電子生產設備展(productronica China)2002年起進入中國市場,并于2012年起以獨立的展會品牌開始對外宣傳。經過近九年的不懈耕耘,以其強大的品牌影響力,領先的展會理念與出色的展覽效果,受到了越來越多展商與觀眾的青睞。近年來,隨著中國在電子技術上的迅猛發展、智能制造成為全行業關注的焦點,不斷加速的...
1998 年,“打久了不心疼,聽久了不頭疼”小靈通橫空出世,由于輻射小、資費低、便于攜帶等優點,成為了國內通訊設備公司們爭相追捧的產品。 華為對此卻并不感冒,時任華為總裁的任正非說到“短暫的賺錢機會,寧可賠死,華為也不去做過時的技術。”然而,憑借著“過時的技術”中興通訊通過小靈通快速崛起,銷售一度達到了華為的 80%。 眼紅的華為人在 2...
??工業機器人及智能裝備制造技術不僅能提高企業工廠的生產效率,更能大大降低用工風險。現在越來越多的行業開始應用機器人焊接技術。例如機車制造行業、船舶制造行業、機械制造行業、航天技術、建筑行業、石油化工行業等等。??焊接工作站主要包括兩大部分,一部分是焊接機器人系統;另一部分是周邊設備。???● 焊接機器人系統包括:機器人本體及控...

史海拾趣

問答坊 | AI 解惑

ALTERA USB BLASTER超低價格(¥200元)開始發售拉

提供超低價格(¥200元)USB BLASTER,100%完全兼容Altera 原裝產品,具有AS、PS 和JTAG 三種模 式,支持Altera 全系列器件, 具有下載、調試、仿真等功能。 真正為同行用戶服務。聯系方式025-85108022,ALLCABLE@FOXMAIL.COM…

查看全部問答∨

傳感器網絡操作系統TINYOS關鍵技術分析

摘要:在傳感器網絡中,作為上層協議和應用程序的運行基礎的操作系統有別于傳統的嵌入式操作系統,針對一個典型的傳感器網絡操作系統TinyOs,從其特點出發,采用與具體的組件代碼相結合的方式,對其體系結構、運行機制和通訊機制等關鍵技術進行分析 ...…

查看全部問答∨

在mfc中有更換按鈕背景圖消息,在ce下有類似消息么

我點擊另外一個按鈕想更換之前創建的btn背景圖,所以就采用向btn窗口句柄發送消息 sendMessage(g_Wnd,BM_SETIMAGE,(WPARAM)IMAGE_BITMAP,(LPARAM)bitmap);---->在CE中提示 error C2065: \'BM_SETIMAGE\' : undeclared identifier BM_SETIMAGE- ...…

查看全部問答∨

Monahans 300 詭異的問題 ~~~

我的平臺是 CE5.0+Monahans 300,存放鏡像的NAND為128M,RAM 64M,FlashStorge 2G; 當我系統鏡像大于32.8M的時候,我裝的A4輸入法不能用,而另外的輸入法卻能用,但系統鏡像小于等于32.8M的時候都能用。 怎么會這樣?當鏡像大于32.8M的時候,怎 ...…

查看全部問答∨

硬件街機游戲開發,單片機游戲開發,CPLD/FPGA、ARM平臺游戲開發群成立

本超級QQ群成立,上限人數為500。 目標是發展中國游戲產業,提升硬件游戲開發技術交流。提供大的平臺。 發展的方向是游戲動漫相結合,此群不是網絡游戲開發,為單板街機游戲開發。 所屬第三產業。以電腦板游戲開發為主體,希望大家能在這個平 ...…

查看全部問答∨

wince taskbar window

各位大俠,小弟最近想把wince 桌面改成winxp風格的,可不知道任務欄和開始菜單如何改,希望那位高手幫幫忙,萬分感謝!!…

查看全部問答∨

請教一個弱智的問題

就是比如我的單片機要外擴一個最簡單的8253 我在看別人的程序的時候 給出電路圖別人就說這個8253的3個定時記數器的地址分別為:8000,8001,8002 我想知道這樣的地址是如何計算出來的 謝謝了…

查看全部問答∨

求助

誰有那個200多頁的MC9808FL16RM的手冊給一個,謝謝!…

查看全部問答∨

談一談,你如何工作(或者說如何高效解決卡殼的問題)

在工作中,最有挑戰性,也是真正耗費我們精力和時間的問題,就是那些卡殼的問題。它們就像一條水路上,偶爾跌蕩起來的幾個點——盡管從總體時間上來看,并不多,可能只占很小一部分比例,但是,它們卻是耗費的關鍵.猶如CPU的功耗關鍵在于被喚醒的時 ...…

查看全部問答∨

msp430跟ad9850怎么接

短學期的實習內容是dds信號發生器的設計,單片機老師要求用430,查了幾天資料還是一頭霧水,想知道msp430f149跟ad9850的管腳是怎么接的,求高手賜教。…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 石城县| 五台县| 洛阳市| 松阳县| 甘孜| 交城县| 九龙坡区| 增城市| 浑源县| 襄城县| 西吉县| 连江县| 大竹县| 壶关县| 丰台区| 惠安县| 静乐县| 清河县| 临泉县| 株洲市| 兴义市| 大荔县| 伊通| 辽源市| 婺源县| 镇康县| 石泉县| 五寨县| 中西区| 色达县| 大方县| 尼玛县| 崇信县| 澳门| 上林县| 庆城县| 望谟县| 泰兴市| 福州市| 公主岭市| 鸡东县|