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

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

?? can_nonblock.c

?? 開放源碼實時操作系統源碼.
?? C
字號:
//==========================================================================
//
//        can_nonblock.c
//
//        CAN driver test of nonblocking calls
//
//==========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//==========================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s):     Uwe Kindler
// Contributors:  Uwe Kindler
// Date:          2005-08-14
// Description:   CAN driver test of nonblocking callst
//####DESCRIPTIONEND####


//===========================================================================
//                                INCLUDES
//===========================================================================
#include <pkgconf/system.h>

#include <cyg/infra/testcase.h>         // test macros
#include <cyg/infra/cyg_ass.h>          // assertion macros
#include <cyg/infra/diag.h>

// Package requirements
#if defined(CYGPKG_IO_CAN) && defined(CYGPKG_KERNEL)

#include <pkgconf/kernel.h>
#include <cyg/io/io.h>
#include <cyg/io/canio.h>

// Package option requirements
#if defined(CYGFUN_KERNEL_API_C)

#include <cyg/hal/hal_arch.h>           // CYGNUM_HAL_STACK_SIZE_TYPICAL
#include <cyg/kernel/kapi.h>

// Package option requirements
#if defined(CYGOPT_IO_CAN_SUPPORT_NONBLOCKING)

//===========================================================================
//                               DATA TYPES
//===========================================================================
typedef struct st_thread_data
{
    cyg_thread   obj;
    long         stack[CYGNUM_HAL_STACK_SIZE_TYPICAL];
    cyg_handle_t hdl;
} thread_data_t;


//===========================================================================
//                              LOCAL DATA
//===========================================================================
cyg_thread_entry_t can0_thread;
thread_data_t      can0_thread_data;


cyg_io_handle_t    hDrvFlexCAN;


//===========================================================================
//                          LOCAL FUNCTIONS
//===========================================================================
#include "can_test_aux.inl" // include CAN test auxiliary functions


//===========================================================================
//                             READER THREAD 
//===========================================================================
void can0_thread(cyg_addrword_t data)
{
    cyg_uint32             len;
    cyg_uint32             blocking;
    cyg_can_event          rx_event;
    Cyg_ErrNo              res;

    blocking = 0;
    len = sizeof(blocking);
    if (ENOERR != cyg_io_set_config(hDrvFlexCAN, CYG_IO_SET_CONFIG_READ_BLOCKING ,&blocking, &len))
    {
        CYG_TEST_FAIL_FINISH("Error writing config of /dev/can0");
    } 
    
    len = sizeof(rx_event);  
    res = cyg_io_read(hDrvFlexCAN, &rx_event, &len);
            
    if (-EAGAIN == res)
    {
        CYG_TEST_PASS_FINISH("can_test1 test OK");
    }
    else if (-EINTR == res)
    {
    	CYG_TEST_PASS_FINISH("can_test1 test OK");
    }
    else
    {
        CYG_TEST_FAIL_FINISH("Error reading from /dev/can0");
    }           
}


void
cyg_start(void)
{
    cyg_uint32     len;
    cyg_can_info_t can_cfg;
    
    CYG_TEST_INIT();
    
    //
    // open flexcan device driver
    //
    if (ENOERR != cyg_io_lookup("/dev/can0", &hDrvFlexCAN)) 
    {
        CYG_TEST_FAIL_FINISH("Error opening /dev/can0");
    }
    
    //
    // setup CAN baudrate 250 KBaud
    //
    can_cfg.baud = CYGNUM_CAN_KBAUD_250;
    len = sizeof(can_cfg);
    if (ENOERR != cyg_io_set_config(hDrvFlexCAN, CYG_IO_SET_CONFIG_CAN_INFO ,&can_cfg, &len))
    {
        CYG_TEST_FAIL_FINISH("Error writing config of /dev/can0");
    }
    
    //
    // create the main thread
    //
    cyg_thread_create(4, can0_thread, 
                        (cyg_addrword_t) 0,
		                "can0_thread", 
		                (void *) can0_thread_data.stack, 
		                1024 * sizeof(long),
		                &can0_thread_data.hdl, 
		                &can0_thread_data.obj);
		                
    cyg_thread_resume(can0_thread_data.hdl);
    
    cyg_scheduler_start();
}

#else // #if defined(CYGOPT_IO_CAN_SUPPORT_NONBLOCKING)
#define N_A_MSG "Needs nonblocking calls"
#endif

#else // CYGFUN_KERNEL_API_C
#define N_A_MSG "Needs kernel C API"
#endif

#else // CYGPKG_IO_CAN && CYGPKG_KERNEL
#define N_A_MSG "Needs IO/CAN and Kernel"
#endif

#ifdef N_A_MSG
void
cyg_start( void )
{
    CYG_TEST_INIT();
    CYG_TEST_NA( N_A_MSG);
}
#endif // N_A_MSG

// EOF can_nonblock.c

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品成人综合| 国产成人夜色高潮福利影视| 极品销魂美女一区二区三区| 成人午夜看片网址| 欧美α欧美αv大片| 亚洲高清免费观看| 一本到不卡精品视频在线观看| 日韩欧美一区在线| 亚洲卡通动漫在线| 成人激情av网| 亚洲国产精品激情在线观看| 久国产精品韩国三级视频| 欧美日韩一区二区三区不卡| 一色屋精品亚洲香蕉网站| 国产一区免费电影| 日韩欧美激情四射| 免费不卡在线视频| 欧美精品 日韩| 日韩精品1区2区3区| 欧美日韩不卡视频| 亚洲国产精品综合小说图片区| 99精品视频一区| 亚洲欧美日韩国产另类专区| 99久久久国产精品| 亚洲免费在线看| 色婷婷精品久久二区二区蜜臂av | 亚洲视频免费看| 高清国产午夜精品久久久久久| 2欧美一区二区三区在线观看视频| 日本成人中文字幕在线视频 | av亚洲精华国产精华| 国产精品丝袜一区| 成人手机电影网| 1区2区3区国产精品| 91福利在线看| 亚洲mv在线观看| 欧美成人综合网站| 国产成人激情av| 国产精品久久久久久户外露出| 99久久婷婷国产| 亚洲综合网站在线观看| 69成人精品免费视频| 美女网站色91| 国产亚洲精品aa午夜观看| 国产成人av自拍| 日韩毛片在线免费观看| 色av一区二区| 日本一不卡视频| 久久日韩精品一区二区五区| 成人午夜在线免费| 亚洲妇熟xx妇色黄| 精品日韩欧美一区二区| jizzjizzjizz欧美| 午夜av区久久| 日本一区免费视频| 欧美综合久久久| 久久69国产一区二区蜜臀| 亚洲国产成人自拍| 欧美三级视频在线播放| 国内精品久久久久影院薰衣草| 中文字幕在线观看不卡视频| 欧美日韩小视频| 国产一区福利在线| 一区二区欧美视频| 久久婷婷国产综合国色天香| 一本一道久久a久久精品 | 一区二区三区在线观看欧美| 91精品国产综合久久福利| 国产99一区视频免费| 亚洲电影激情视频网站| 国产亚洲精品久| 69精品人人人人| 91免费视频大全| 国产精品一区二区无线| 亚洲午夜精品17c| 国产女人aaa级久久久级 | 欧美精品成人一区二区三区四区| 奇米影视一区二区三区小说| 亚洲欧洲在线观看av| 欧美电影免费观看高清完整版在 | 日韩欧美综合在线| 日本二三区不卡| 国产精品18久久久久久久久| 亚洲专区一二三| 欧美国产一区二区在线观看| 日韩精品一区二区在线观看| 欧洲精品中文字幕| 99视频国产精品| 黑人巨大精品欧美黑白配亚洲| 亚洲一区二区三区三| 国产精品传媒在线| 久久久久久久久久久久久夜| 欧美一三区三区四区免费在线看| 一本色道久久综合亚洲aⅴ蜜桃 | 国产精品无码永久免费888| 欧美大片在线观看一区二区| 91精品婷婷国产综合久久性色| 色综合夜色一区| 波多野结衣在线aⅴ中文字幕不卡| 国产麻豆午夜三级精品| 蜜桃一区二区三区四区| 亚洲成av人**亚洲成av**| 一区二区三区在线观看国产| 成人免费在线播放视频| 欧美国产视频在线| 久久精品水蜜桃av综合天堂| 久久青草欧美一区二区三区| 欧美大片一区二区| 精品国产乱码久久久久久影片| 91精品国产综合久久久久久久| 欧美日韩一级片网站| 欧美性猛交一区二区三区精品| 色婷婷亚洲综合| 色欧美片视频在线观看 | 精品国产亚洲在线| 日韩丝袜情趣美女图片| 欧美一区二区三区视频免费播放 | 日韩亚洲欧美在线观看| 在线不卡中文字幕播放| 日韩一区二区三区在线观看| 日韩视频免费观看高清完整版| 日韩免费看网站| 久久亚洲一区二区三区明星换脸| 久久麻豆一区二区| 久久久久久久久岛国免费| 中文字幕精品三区| 亚洲视频一区在线| 天天综合天天做天天综合| 日韩**一区毛片| 韩日欧美一区二区三区| 99久久亚洲一区二区三区青草| 欧美乱妇一区二区三区不卡视频| 日韩欧美三级在线| 久久精品视频免费观看| ●精品国产综合乱码久久久久| 亚洲精品高清在线观看| 午夜精品一区二区三区三上悠亚| 免费成人在线视频观看| 国产成人精品免费视频网站| 色中色一区二区| 91精品国产一区二区| 亚洲国产精品成人综合 | 欧美mv日韩mv国产网站| 2023国产一二三区日本精品2022| 国产精品久久免费看| 一区二区三区四区在线播放 | 老司机一区二区| 成人av在线观| 91精品啪在线观看国产60岁| 国产无一区二区| 亚洲成人精品一区二区| 国产成人在线免费| 欧美区在线观看| 中文字幕国产一区二区| 日韩激情中文字幕| 国产成人免费视频网站| 欧美日韩午夜在线| 国产精品麻豆99久久久久久| 日日嗨av一区二区三区四区| 成人丝袜视频网| 日韩免费观看高清完整版| 一区二区三区日韩精品| 国产一区欧美二区| 91麻豆精品国产自产在线观看一区 | 欧美成人免费网站| 亚洲一区在线观看免费 | 国内精品嫩模私拍在线| 欧美午夜精品一区二区三区| 国产日韩精品一区| 奇米色777欧美一区二区| 91丨porny丨蝌蚪视频| 久久久久久日产精品| 天天色综合天天| 在线视频国内自拍亚洲视频| 国产精品天干天干在线综合| 九九视频精品免费| 欧美日韩成人综合天天影院| 中文字幕一区二区视频| 国产在线播放一区| 欧美成人r级一区二区三区| 偷拍一区二区三区四区| 日本乱人伦aⅴ精品| 亚洲欧美综合另类在线卡通| 国产乱子伦视频一区二区三区 | 北条麻妃一区二区三区| 久久久精品人体av艺术| 久久av中文字幕片| 日韩亚洲欧美综合| 麻豆精品新av中文字幕| 日韩一区二区三区在线| 日本在线不卡一区| 欧美一级高清片在线观看| 99热这里都是精品| 中文字幕国产精品一区二区| 国产成人精品亚洲777人妖 | 欧美国产精品久久| 国产精品一二三区| 国产片一区二区三区| 国产福利电影一区二区三区| 久久久www成人免费毛片麻豆|