音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe

UC/OS進級。!

作者:liangjingxin 欄目:嵌入式系統(tǒng)
UC/OS進級。!
小弟已成功移值了UC/OS,也編過一些比較簡單的小程序,熟悉了系統(tǒng)內核里面的函數(shù),想進一步深入學習UC/OS及其應用,請教各位大俠有何好建議,先謝了。

2樓: >>參與討論
yangsen
移植TCP/IP棧,個人認為,我也在學多交流。
qq:379100379

3樓: >>參與討論
黃舉鵬
請大蝦幫我看看,怎么檢測不到按鍵呢??


#include "config.h"
#include "stdlib.h"

/* 按鍵消息郵箱 */
OS_EVENT  *KeyMbox  = NULL;  // 按鍵消息郵箱 (直接使用其msg指針保存為按鍵值)

#define    TaskStkLengh    512        
OS_STK    Task0Stk [TaskStkLengh];    // 定義用戶任務0的堆棧
OS_STK    Task1Stk [TaskStkLengh];    // 定義用戶任務1的堆棧

void     Task0(void *pdata);            // 任務0
void     Task1(void *pdata);            // 任務1

int main(void)
{

    OSInit ();
    TargetInit();    
    KeyMbox = OSMboxCreate(NULL);   // 建立一個郵箱,用于傳遞按鍵消息                                                                                            
    OSTaskCreate (Task0,(void *)0, &Task0Stk[TaskStkLengh - 1], 2);        
    OSTaskCreate (Task1,(void *)0, &Task1Stk[TaskStkLengh - 1], 3);        
    OSStart ();
    return 0;                                                            
}

/*****************************************************************
**                            Task0 任務0
*****************************************************************/
void Task0(void *pdata)
{  
    void  *key;
    uint8  err;
    pdata = pdata;
    
    while (1)
    {     
         /* 讀取一按鍵 */
          key = OSMboxPend(KeyMbox, 0, &err);
          SWITCH((int)key)
          {
               case  1:
               case  2:
               case  3:
               case  4:
               case  5:
               case  6:
               case  7:
               case  8:
                     RELAY();
                     break;        
             default:
                     break;
          }
                OSTimeDly(OS_TICKS_PER_SEC/10);        
    }
}

/**************************************************************
**                            Task1 任務1
**************************************************************/
void Task1(void *pdata)
{   
    
    uint8   key;
    pdata = pdata;    
    while (1)
    {  
        if(ZLG7290_Key()!=0)
        {
                key=ZLG7290_Key();
                OSMboxPost(KeyMbox, (void *)key);   // 發(fā)送按鍵消息    
                OSTimeDly(OS_TICKS_PER_SEC/10);
        }    
    }
}

/**********************************************************
**                            End Of File
**********************************************************/






4樓: >>參與討論
gunaaaa
把key加個&試試
 OSMboxPost(KeyMbox, (void *)&key);   // 發(fā)送按鍵消息

5樓: >>參與討論
黃舉鵬
謝謝gunaaaa!
把“KeyMbox = OSMboxCreate(NULL); // 建立一個郵箱,用于傳遞按鍵消息”
去掉,就能檢測到按鍵,郁悶啊    

參與討論
昵稱:
討論內容:
 
 
相關帖子
為什么我的系統(tǒng)一調用OStimeDly就死?
關于winCE的platform build 的問題。
電池檢測電路用
采樣
哪位大俠能推薦些關于C和操作系統(tǒng)的書..
免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號