亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? net_os.c

?? uCOS-II 2.8和uC-TCP/IP在ATMEL AT91SAM9261上移植
?? C
?? 第 1 頁 / 共 5 頁
字號:
* Argument(s) : timeout_ms      Timeout value (in milliseconds).
*
*               perr        Pointer to variable that will receive the return error code from this function :
*
*                               NET_ERR_NONE                    Network transmit suspend timeout successfully set.
*
*                                                               --- RETURNED BY NetOS_TimeoutCalc_OS_tick() : ----
*                               NET_OS_ERR_INVALID_TIME         Invalid time value.
*
* Return(s)   : none.
*
* Caller(s)   : NetOS_Init(),
*               Application.
*
*               This function is a network protocol suite application interface (API) function & MAY be 
*               called by application function(s).
*
* Note(s)     : none.
*********************************************************************************************************
*/

#if (NET_CFG_LOAD_BAL_EN == DEF_ENABLED)
void  NetOS_TxSuspendTimeoutSet (CPU_INT32U   timeout_ms,
                                 NET_ERR     *perr)
{
#if (CPU_CFG_CRITICAL_METHOD == CPU_CRITICAL_METHOD_STATUS_LOCAL)
    CPU_SR  cpu_sr;
#endif
    INT16U  os_tick;


    os_tick = NetOS_TimeoutCalc_OS_tick(timeout_ms, perr);      /* Calculate timeout value (in OS ticks).               */
    if (*perr != NET_OS_ERR_NONE) {
         return;
    }

    CPU_CRITICAL_ENTER();
                                                                /* Set network transmit suspend timeout value ...       */
    NetOS_TxSuspendTimeout_tick = os_tick;                      /* ... (in OS ticks).                                   */
    CPU_CRITICAL_EXIT();
    

   *perr = NET_ERR_NONE;
}
#endif


/*$PAGE*/
/*
*********************************************************************************************************
*                                   NetOS_TxSuspendTimeoutGet_ms()
*
* Description : Get network transmit suspend timeout value.
*
* Argument(s) : perr        Pointer to variable that will receive the return error code from this function :
*
*                               NET_ERR_NONE                    Network transmit suspend timeout 
*                                                                   successfully returned.
*
* Return(s)   : Network transmit suspend timeout value (in milliseconds).
*
* Caller(s)   : Application.
*
*               This function is a network protocol suite application interface (API) function & MAY be 
*               called by application function(s).
*
* Note(s)     : none.
*********************************************************************************************************
*/

#if (NET_CFG_LOAD_BAL_EN == DEF_ENABLED)
CPU_INT32U  NetOS_TxSuspendTimeoutGet_ms (NET_ERR  *perr)
{
#if (CPU_CFG_CRITICAL_METHOD == CPU_CRITICAL_METHOD_STATUS_LOCAL)
    CPU_SR      cpu_sr;
#endif
    INT16U      os_tick;
    CPU_INT16U  timeout_ms;


    CPU_CRITICAL_ENTER();
                                                                /* Get network transmit suspend timeout value ...       */
    os_tick    =  NetOS_TxSuspendTimeout_tick;                  /* ... (in OS ticks).                                   */
    CPU_CRITICAL_EXIT();
                                                                
    timeout_ms = (CPU_INT16U)NetOS_TimeoutCalc_ms(os_tick);     /* Calculate   timeout value (in milliseconds).         */

   *perr       =  NET_ERR_NONE;

    return (timeout_ms);
}
#endif


/*$PAGE*/
/*
*********************************************************************************************************
*********************************************************************************************************
*                                 NETWORK TIMER MANAGEMENT FUNCTIONS
*********************************************************************************************************
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                          NetOS_Tmr_Init()
*
* Description : (1) Perform Timer/OS initialization :
*
*                   (a) Create network timer task
*
*
* Argument(s) : perr        Pointer to variable that will receive the return error code from this function :
*
*                               NET_OS_ERR_NONE                 Network timer/OS initialization successful.
*                               NET_OS_ERR_INIT_TMR_TASK        Network timer task      NOT successfully
*                                                                   initialized.
*                               NET_OS_ERR_INIT_TMR_TASK_NAME   Network timer task name NOT successfully
*                                                                   configured.
*
* Return(s)   : none.
*
* Caller(s)   : NetTmr_Init().
*
*               This function is an INTERNAL network protocol suite function & MUST NOT be called by 
*               application function(s).
*
* Note(s)     : none.
*********************************************************************************************************
*/
/*$PAGE*/
void  NetOS_Tmr_Init (NET_ERR  *perr)
{
    INT8U  os_err;

                                                                            /* Create NetOS_Tmr_Task() [see Note #1a].  */
#if (OS_TASK_CREATE_EXT_EN == 1)

#if (OS_STK_GROWTH == 1)
    os_err = OSTaskCreateExt((void (*)(void *)) NetOS_Tmr_Task,
                             (void          * ) 0,
                             (OS_STK        * )&NetOS_Tmr_TaskStk[NET_OS_CFG_TMR_TASK_STK_SIZE - 1],
                             (INT8U           ) NET_OS_CFG_TMR_TASK_PRIO,
                             (INT16U          ) NET_OS_CFG_TMR_TASK_PRIO,   /* Set task id same as task prio.           */
                             (OS_STK        * )&NetOS_Tmr_TaskStk[0],
                             (INT32U          ) NET_OS_CFG_TMR_TASK_STK_SIZE,
                             (void          * ) 0,
                             (INT16U          )(OS_TASK_OPT_STK_CLR | OS_TASK_OPT_STK_CHK));
#else
    os_err = OSTaskCreateExt((void (*)(void *)) NetOS_Tmr_Task,
                             (void          * ) 0,
                             (OS_STK        * )&NetOS_Tmr_TaskStk[0],
                             (INT8U           ) NET_OS_CFG_TMR_TASK_PRIO,
                             (INT16U          ) NET_OS_CFG_TMR_TASK_PRIO,   /* Set task id same as task prio.           */
                             (OS_STK        * )&NetOS_Tmr_TaskStk[NET_OS_CFG_TMR_TASK_STK_SIZE - 1],
                             (INT32U          ) NET_OS_CFG_TMR_TASK_STK_SIZE,
                             (void          * ) 0,
                             (INT16U          )(OS_TASK_OPT_STK_CLR | OS_TASK_OPT_STK_CHK));
#endif

#else

#if (OS_STK_GROWTH == 1)
    os_err = OSTaskCreate((void (*)(void *)) NetOS_Tmr_Task,
                          (void          * ) 0,
                          (OS_STK        * )&NetOS_Tmr_TaskStk[NET_OS_CFG_TMR_TASK_STK_SIZE - 1],
                          (INT8U           ) NET_OS_CFG_TMR_TASK_PRIO);
#else
    os_err = OSTaskCreate((void (*)(void *)) NetOS_Tmr_Task,
                          (void          * ) 0,
                          (OS_STK        * )&NetOS_Tmr_TaskStk[0],
                          (INT8U           ) NET_OS_CFG_TMR_TASK_PRIO);
#endif

#endif
    if (os_err !=  OS_ERR_NONE) {
       *perr = NET_OS_ERR_INIT_TMR_TASK;
        return;
    }


#if (OS_TASK_NAME_SIZE >= NET_TASK_NAME_SIZE_MAX)
    OSTaskNameSet((INT8U  ) NET_OS_CFG_TMR_TASK_PRIO,
                  (INT8U *) NET_TMR_TASK_NAME,
                  (INT8U *)&os_err);
    if (os_err !=  OS_ERR_NONE) {
       *perr = NET_OS_ERR_INIT_TMR_TASK_NAME;
        return;
    }
#endif


   *perr = NET_OS_ERR_NONE;
}


/*$PAGE*/
/*
*********************************************************************************************************
*                                          NetOS_Tmr_Task()
*
* Description : OS-dependent shell task to schedule & run Timer Task Handler.
*
*               (1) Shell task's primary purpose is to schedule & run NetTmr_TaskHandler(); shell task
*                   should run NetTmr_TaskHandler() at NET_TMR_CFG_TASK_FREQ rate forever (i.e. shell 
*                   task should NEVER exit).
*
*
* Argument(s) : p_data      Pointer to task initialization data (required by uC/OS-II).
*
* Return(s)   : none.
*
* Created by  : NetOS_Tmr_Init().
*
* Note(s)     : (2) Assumes OS_TICKS_PER_SEC frequency is greater than NET_TMR_CFG_TASK_FREQ.  Otherwise,
*                   timer task scheduling rate will NOT be correct.
*********************************************************************************************************
*/

static  void  NetOS_Tmr_Task (void  *p_data)
{
    INT16U  dly;


   (void)&p_data;                                               /* Prevent compiler warning.                            */

    dly = OS_TICKS_PER_SEC / NET_TMR_CFG_TASK_FREQ;             /* Delay task at NET_TMR_CFG_TASK_FREQ rate.            */

    while (DEF_ON) {
        OSTimeDly(dly);

        NetTmr_TaskHandler();
    }
}


/*$PAGE*/
/*
*********************************************************************************************************
*********************************************************************************************************
*                                  NETWORK INTERFACE CARD FUNCTIONS
*********************************************************************************************************
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                          NetOS_NIC_Init()
*
* Description : (1) Perform NIC/OS initialization :
*
*                   (a) Implement NIC transmit ready signal by creating a binary semaphore.
*
*                       Initialize transmit ready signal based on configuration :
*
*                       (1) NET_NIC_CFG_TX_RDY_INIT_VAL configured to initialize the NIC-transmit-ready
*                           OS object with one of the following values :
*
*                           (A) 0, for NIC driver's that implement the NIC's transmit-ready status using
*                                  the Transmit Empty    interrupt.
*
*                           (B) 1, for NIC driver's that implement the NIC's transmit-ready status using 
*                                  the Transmit Complete interrupt.
*
*                       See also 'net_cfg  NETWORK INTERFACE CARD CONFIGURATION  Note #2'.
*
*
* Argument(s) : perr        Pointer to variable that will receive the return error code from this function :
*
*                               NET_OS_ERR_NONE                     NIC/OS initialization successful.
*                               NET_OS_ERR_INIT_NIC_TX_RDY          NIC transmit ready signal NOT successfully
*                                                                       initialized.
*                               NET_OS_ERR_INIT_NIC_TX_RDY_NAME     NIC transmit ready name   NOT successfully
*                                                                       configured.
*
* Return(s)   : none.
*
* Caller(s)   : NetNIC_Init().
*
*               This function is a network protocol suite to network interface controller (NIC)  function &
*               SHOULD be called only by appropriate network interface controller initialization function(s).
*
* Note(s)     : none.
*********************************************************************************************************
*/

void  NetOS_NIC_Init (NET_ERR  *perr)
{
#if (OS_EVENT_NAME_SIZE >= NET_OBJ_NAME_SIZE_MAX)
    INT8U  os_err;
#endif

                                                                /* Create transmit ready signal (see Note #1a).         */
    NetOS_NIC_TxRdySignalPtr = OSSemCreate((INT16U)NET_NIC_CFG_TX_RDY_INIT_VAL);        
    if (NetOS_NIC_TxRdySignalPtr == (OS_EVENT *)0) {
       *perr = NET_OS_ERR_INIT_NIC_TX_RDY;
        return;
    }

#if (OS_EVENT_NAME_SIZE >= NET_OBJ_NAME_SIZE_MAX)
    OSEventNameSet((OS_EVENT *) NetOS_NIC_TxRdySignalPtr,
                   (INT8U    *) NET_NIC_TX_RDY_NAME,
                   (INT8U    *)&os_err);
    if (os_err !=  OS_ERR_NONE) {
       *perr = NET_OS_ERR_INIT_NIC_TX_RDY_NAME;
        return;
    }
#endif


   *perr = NET_OS_ERR_NONE;
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产农村妇女精品| 亚洲成人午夜影院| 亚洲电影一区二区三区| 久久精品国产成人一区二区三区| caoporm超碰国产精品| 欧美午夜一区二区| 日本一区二区三级电影在线观看 | 91偷拍与自偷拍精品| 91麻豆精品国产91久久久更新时间| 亚洲免费观看视频| 麻豆视频一区二区| 欧洲一区在线电影| 国产精品无遮挡| 麻豆精品新av中文字幕| 91黄色激情网站| 国产欧美在线观看一区| 老司机精品视频一区二区三区| 91丨九色porny丨蝌蚪| 久久这里只精品最新地址| 亚洲成人精品一区二区| 91在线精品秘密一区二区| 久久一日本道色综合| 视频一区在线播放| 欧美三级在线视频| 一区二区三区欧美在线观看| 成人激情av网| 国产色产综合产在线视频| 麻豆精品一二三| 91精品国产91久久久久久一区二区| 亚洲日本va在线观看| 国产不卡在线一区| 国产日韩欧美高清在线| 国产**成人网毛片九色 | 欧美经典三级视频一区二区三区| 蜜桃一区二区三区在线| 91精品蜜臀在线一区尤物| 午夜久久电影网| 在线一区二区观看| 亚洲精品免费一二三区| 色综合久久综合| 亚洲欧美另类小说视频| 色嗨嗨av一区二区三区| 一区二区三区国产| 欧美日韩在线三级| 日韩精品成人一区二区三区| 欧美一区二区成人6969| 久久精品免费看| 欧美tk丨vk视频| 丰满少妇在线播放bd日韩电影| 国产精品免费av| 日本精品裸体写真集在线观看 | 在线观看成人小视频| 洋洋av久久久久久久一区| 欧美色图一区二区三区| 五月天亚洲精品| 日韩无一区二区| 国产精品影视在线观看| 亚洲天堂久久久久久久| 欧美性xxxxxxxx| 捆绑紧缚一区二区三区视频 | 91精品国产乱码久久蜜臀| 久久精品国产99国产精品| 欧美成人精品3d动漫h| 国产一区二区三区在线观看免费视频| 日韩欧美一区二区不卡| 久久97超碰色| 国产日韩一级二级三级| 91在线观看一区二区| 一区av在线播放| 欧美私人免费视频| 日本美女视频一区二区| 精品国产99国产精品| 国产成人免费在线视频| 亚洲视频一区在线| 欧美日韩精品一区二区三区四区 | 亚洲成人av免费| 3d成人h动漫网站入口| 六月丁香婷婷色狠狠久久| 欧美日本在线观看| 国产不卡视频一区二区三区| 亚洲日本中文字幕区| 91精品中文字幕一区二区三区| 蜜臀av亚洲一区中文字幕| 国产日韩欧美激情| 欧美视频一区二区三区四区| 免费欧美日韩国产三级电影| 久久久国产一区二区三区四区小说 | 国产亚洲精品bt天堂精选| 99久久99久久久精品齐齐| 亚洲妇女屁股眼交7| 久久蜜桃一区二区| 色婷婷一区二区| 精品一区二区综合| 亚洲欧美日韩国产手机在线| 日韩精品影音先锋| 欧美日韩精品一区二区在线播放| 天使萌一区二区三区免费观看| 久久午夜免费电影| 色欧美日韩亚洲| 韩日精品视频一区| 午夜一区二区三区在线观看| 91精品国产黑色紧身裤美女| 91猫先生在线| 久久99国产乱子伦精品免费| 最新中文字幕一区二区三区 | 国产成人av电影在线播放| 亚洲不卡在线观看| 国产三级一区二区| 911精品产国品一二三产区| 成人黄色免费短视频| 美国三级日本三级久久99| 自拍偷自拍亚洲精品播放| 精品粉嫩aⅴ一区二区三区四区| 成人av动漫网站| 国产一区久久久| 免费观看在线综合| 亚洲图片有声小说| 国产精品国产自产拍高清av| 精品国产凹凸成av人导航| 欧美一区二区三区在线| 欧美在线啊v一区| www.av亚洲| 丰满放荡岳乱妇91ww| 麻豆精品在线看| 极品美女销魂一区二区三区 | 爽爽淫人综合网网站| 亚洲激情中文1区| 中文字幕高清一区| 国产婷婷色一区二区三区| 久久先锋影音av鲁色资源 | 国产精品中文字幕日韩精品| 国产在线国偷精品免费看| 麻豆91在线看| 热久久久久久久| 奇米一区二区三区| 免费观看在线色综合| 另类小说一区二区三区| 日韩av二区在线播放| 日本不卡视频在线| 美女在线观看视频一区二区| 亚洲精品水蜜桃| 午夜免费久久看| 日韩中文字幕av电影| 奇米色一区二区三区四区| 日韩黄色一级片| 理论电影国产精品| 国产mv日韩mv欧美| 99re在线视频这里只有精品| 色一区在线观看| 日本道色综合久久| 欧美在线观看视频在线| 欧美巨大另类极品videosbest | 国产女人aaa级久久久级 | 波多野结衣中文字幕一区二区三区 | 日本一区二区视频在线| 国产精品女主播在线观看| 亚洲三级免费观看| 美国av一区二区| 国产综合色产在线精品| 日本乱人伦aⅴ精品| 精品视频一区三区九区| 欧美激情在线看| 夜夜亚洲天天久久| 日本va欧美va精品发布| 国产精品一区三区| 在线观看一区不卡| 欧美激情中文字幕| 亚洲一区二区av在线| 麻豆精品一二三| gogo大胆日本视频一区| 欧美巨大另类极品videosbest| 日韩精品在线看片z| 国产精品天干天干在线综合| 日韩—二三区免费观看av| 成人免费视频免费观看| 欧美日韩精品欧美日韩精品| 国产肉丝袜一区二区| 亚洲自拍另类综合| 国产河南妇女毛片精品久久久| 在线视频观看一区| 日韩欧美精品三级| 亚洲成人动漫一区| 大桥未久av一区二区三区中文| 欧美日韩黄色影视| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 久久久噜噜噜久噜久久综合| 亚洲欧美一区二区三区孕妇| 精品影院一区二区久久久| 色网站国产精品| 久久精品视频一区| 青青草国产精品亚洲专区无| 99re这里只有精品首页| 久久综合色综合88| 美女一区二区视频| 欧美日韩免费观看一区二区三区| 国产欧美日本一区视频| 狠狠色丁香婷婷综合| 欧美日韩在线播放一区| 中文在线资源观看网站视频免费不卡 | 日本女人一区二区三区|