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

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

?? usb_drv.h

?? 基于DSP的數(shù)據(jù)采集源程序
?? H
字號:
/*H**************************************************************************
* NAME:         usb_drv.h         
*----------------------------------------------------------------------------
* Copyright (c) 2003 Atmel.
*----------------------------------------------------------------------------
* RELEASE:      c5131-usb-kbd-light-1_0_2      
* REVISION:     1.4     
*----------------------------------------------------------------------------
* PURPOSE: 
* This file contains the USB low level driver definition                                      
*****************************************************************************/

#ifndef _USB_DRV_H_
#define _USB_DRV_H_

/*_____ I N C L U D E S ____________________________________________________*/


/*_____ M A C R O S ________________________________________________________*/


/*F**************************************************************************
* NAME: CONTROL / BULK / INTERRUPT / ISOCHRONOUS
*----------------------------------------------------------------------------
* PURPOSE: 
* These define are the values used to enable and configure an endpoint.
* They are written in the UEPCONX register.
*****************************************************************************/

#define CONTROL              0x80
#define BULK_IN              0x86
#define BULK_OUT             0x82
#define INTERRUPT_IN         0x87
#define INTERRUPT_OUT        0x83
#define ISOCHRONOUS_IN       0x85
#define ISOCHRONOUS_OUT      0x81
#define BULK_MAX_SIZE        ((Uchar)64)

/*M**************************************************************************
* NAME: wSWAP 
*----------------------------------------------------------------------------
* PARAMS:
* x     : (Uint16) the 16 bit word to swap 
* return: (Uint16) the 16 bit word x with the 2 bytes swaped  
*----------------------------------------------------------------------------
* PURPOSE: 
* This macro swaps the Uchar order in words.
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
#define wSWAP(x) ((((x)>>8)&0x00FF)|(((x)<<8)&0xFF00)) ;


/*M**************************************************************************
* NAME: dwSWAP 
*----------------------------------------------------------------------------
* PARAMS:
* x     : (Uint32) the 32 bit double word to swap 
* return: (Uint32) the 32 bit double word x with the 4 bytes swaped  
*----------------------------------------------------------------------------
* PURPOSE: 
* This macro swaps the Uchar order in double words.
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
#define dwSWAP(x) ((((x)>>24)&0x000000FF)|(((x)>>8)&0x0000FF00)|(((x)<<24)&0xFF000000)|(((x)<<8)&0x00FF0000))


/*M**************************************************************************
* NAME: General endpoint management 
*----------------------------------------------------------------------------
* PARAMS:
*----------------------------------------------------------------------------
* PURPOSE: 
* These macros manage the common features of the endpoints
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
#define Usb_select_ep(e)              (UEPNUM = e)
#define Usb_configure_ep_type(x)      (UEPCONX = x)
#define Usb_set_stall_request()       (UEPSTAX |= MSK_STALLRQ)
#define Usb_clear_stall_request()     (UEPSTAX &= ~MSK_STALLRQ)
#define Usb_clear_stalled()           (UEPSTAX &= ~MSK_STALLED)
#define Usb_stall_requested()         (UEPSTAX & MSK_STALLRQ)
#define Usb_stall_sent()              (UEPSTAX & MSK_STALLED)
#define Usb_read_byte()               (UEPDATX)
#define Usb_write_byte(x)             (UEPDATX = x)
#define Usb_endpoint_interrupt()      (UEPINT != 0 )


/*M**************************************************************************
* NAME: OUT endpoint management 
*----------------------------------------------------------------------------
* PARAMS:
*----------------------------------------------------------------------------
* PURPOSE: 
* These macros manage the OUT endpoints.
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
#define Usb_clear_rx()                (UEPSTAX &= ~MSK_RXOUT)
#define Usb_clear_rx_bank0()          (UEPSTAX &= ~MSK_RXOUTB0)
#define Usb_clear_rx_bank1()          (UEPSTAX &= ~MSK_RXOUTB1)
#define Usb_rx_complete()             (UEPSTAX & MSK_RXOUTB0B1)
unsigned char ReadEp(unsigned char EpNum,unsigned char *Data);
void WriteEp(unsigned char EpNum,unsigned char nLength,unsigned char *Data);
void EpEnable(void);
/*M**************************************************************************
* NAME: IN endpoint management 
*----------------------------------------------------------------------------
* PARAMS:
*----------------------------------------------------------------------------
* PURPOSE: 
* These macros manage the IN endpoints.
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
#define Usb_set_tx_ready()            (UEPSTAX |= MSK_TXRDY)
#define Usb_clear_tx_ready()          (UEPSTAX &= ~MSK_TXRDY)
#define Usb_clear_tx_complete()       (UEPSTAX &= ~MSK_TXCMPL)
#define Usb_tx_complete()             (UEPSTAX & MSK_TXCMPL)
#define Usb_tx_ready()                (UEPSTAX & MSK_TXRDY)


/*M**************************************************************************
* NAME: CONTROL endpoint management 
*----------------------------------------------------------------------------
* PARAMS:
*----------------------------------------------------------------------------
* PURPOSE: 
* These macros manage the Control endpoints.
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
#define Usb_clear_rx_setup()          (UEPSTAX &= ~MSK_RXSETUP)
#define Usb_setup_received()          (UEPSTAX & MSK_RXSETUP)
#define Usb_clear_DIR()               (UEPSTAX &= ~MSK_DIR)
#define Usb_set_DIR()                 (UEPSTAX |= MSK_DIR)


/*M**************************************************************************
* NAME: General USB management 
*----------------------------------------------------------------------------
* PARAMS:
*----------------------------------------------------------------------------
* PURPOSE: 
* These macros manage the USB controller.
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
#define Usb_enable()                  (USBCON |= MSK_USBE)
#define Usb_disable()                 (USBCON &= ~MSK_USBE)
#define Usb_detach()                  (USBCON |= MSK_DETACH)
#define Usb_attach()                  (USBCON &= ~MSK_DETACH)
#define Usb_clear_reset()             (USBINT &= ~MSK_EORINT)
#define Usb_clear_resume()            (USBINT &= ~MSK_WUPCPU)
#define Usb_clear_sof()               (USBINT &= ~MSK_SOFINT)
#define Usb_clear_suspend()           (USBINT &= ~MSK_SPINT)
#define Usb_suspend()                 (USBINT & MSK_SPINT)
#define Usb_resume()                  (USBINT & MSK_WUPCPU)
#define Usb_reset()                   (USBINT & MSK_EORINT)
#define Usb_sof()                     (USBINT & MSK_SOFINT)
#define Usb_configure_address(x)      (USBADDR = (0x80 | x))
#define Usb_set_CONFG()               (USBCON |= MSK_CONFG)
#define Usb_clear_CONFG()             (USBCON &= ~MSK_CONFG)
#define Usb_set_FADDEN()              (USBCON |= MSK_FADDEN)
#define Usb_clear_FADDEN()            (USBCON &= ~MSK_FADDEN)

/*M**************************************************************************
* NAME: USB interrupt management 
*----------------------------------------------------------------------------
* PARAMS:
*----------------------------------------------------------------------------
* PURPOSE: 
* These macros manage the USB controller.
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/

#define Usb_enable_int()              (IEN1 |= MSK_EUSB)
#define Usb_disable_int()             (IEN1 &= ~MSK_EUSB)

#define Usb_enable_reset_int()        (USBIEN |= MSK_EEORINT)
#define Usb_enable_resume_int()       (USBIEN |= MSK_EWUPCPU)
#define Usb_enable_sof_int()          (USBIEN |= MSK_ESOFINT)
#define Usb_enable_suspend_int()      (USBIEN |= MSK_ESPINT)
#define Usb_disable_reset_int()       (USBIEN &= ~MSK_EEORINT)
#define Usb_disable_resume_int()      (USBIEN &= ~MSK_EWUPCPU)
#define Usb_disable_sof_int()         (USBIEN &= ~MSK_ESOFINT)
#define Usb_disable_suspend_int()     (USBIEN &= ~MSK_ESPINT)

#define Usb_enable_ep_int(e)          {UEPIEN |= (0x01 << e))
#define Usb_disable_ep_int(e)         {UEPIEN &= ~(0x01 << e))



/*M**************************************************************************
* NAME: USB clock management 
*----------------------------------------------------------------------------
* PARAMS:
*----------------------------------------------------------------------------
* PURPOSE: 
* These macros manage the USB clock.
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
#define Usb_set_EXT48()               (PLLCON |= MSK_EXT48)
#define Usb_clear_EXT48()             (PLLCON &= ~MSK_EXT48)

#define Pll_stop()                    (PLLCON &= ~MSK_PLLEN)
#define Pll_set_div(n)                (PLLDIV = n)
#define Pll_enable()                  (PLLCON |= MSK_PLLEN) 



/*_____ D E C L A R A T I O N ______________________________________________*/

void    usb_configure_endpoint       (Uchar , Uchar);
Uchar   usb_get_nb_byte              (void);
Uint16  usb_get_nb_byte_epw          (void);
Uchar*  usb_send_ep0_packet          (Uchar*, Uchar);
Uchar*  usb_send_packet              (Uchar , Uchar*, Uchar);
Uchar*  usb_read_packet              (Uchar , Uchar*, Uchar);
void    usb_reset_endpoint           (Uchar);
Uchar   usb_select_enpoint_interrupt (void);
void    usb_halt_endpoint            (Uchar);
void    configure_usb_clock          (void);



#endif  /* _USB_DRV_H_ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产高清一区二区三区| 成人激情图片网| 欧美一区二区国产| 老司机免费视频一区二区| 欧美刺激午夜性久久久久久久| 国产自产2019最新不卡| 中文字幕精品在线不卡| 91美女精品福利| 亚洲成人你懂的| 精品免费日韩av| 成人激情黄色小说| 亚洲成人在线网站| 久久久精品日韩欧美| 99国产精品国产精品毛片| 亚洲在线免费播放| 欧美videossexotv100| 成人精品免费看| 亚洲18影院在线观看| 久久综合精品国产一区二区三区| 国产91露脸合集magnet| 亚洲婷婷综合久久一本伊一区| 欧美日韩成人激情| 国产成人av一区二区| 一区二区三区中文字幕在线观看| 91精品国产综合久久精品麻豆| 国产精品一区二区久久精品爱涩| 亚洲欧美日韩电影| 欧美精品一区二区三区四区| 91小视频在线| 蜜桃视频一区二区三区在线观看| 国产精品久久久久9999吃药| 欧美精品色一区二区三区| 国产91丝袜在线观看| 亚洲一二三区在线观看| 久久久久99精品一区| 91国偷自产一区二区三区成为亚洲经典 | 亚洲图片一区二区| 国产亚洲成年网址在线观看| 欧美性videosxxxxx| 国产精品主播直播| 丝袜脚交一区二区| 国产精品久久久爽爽爽麻豆色哟哟 | 欧美videos大乳护士334| 色94色欧美sute亚洲13| 国产精品一区免费在线观看| 日本女优在线视频一区二区| 国产精品丝袜黑色高跟| 日韩欧美国产麻豆| 精品视频在线免费看| 成人av在线网| 国产精品自拍av| 美日韩一区二区三区| 亚洲电影你懂得| 亚洲美女免费在线| 欧美国产日韩a欧美在线观看| 欧美一区二区三区四区高清| 91成人在线免费观看| 成人av在线资源网站| 国产成人午夜精品5599| 久久99国内精品| 天天av天天翘天天综合网色鬼国产 | 国产日韩欧美精品在线| 精品少妇一区二区三区日产乱码 | 不卡视频一二三| 成人的网站免费观看| 国产精品1区2区| 国产一区视频在线看| 久久er99热精品一区二区| 免费看日韩a级影片| 五月天久久比比资源色| 亚洲成人自拍一区| 亚洲电影视频在线| 日本一道高清亚洲日美韩| 亚瑟在线精品视频| 天天影视网天天综合色在线播放| 亚洲福利电影网| 人妖欧美一区二区| 蜜桃视频在线一区| 国产美女精品一区二区三区| 国产一区二区三区综合| 精品一区二区av| 国产在线播放一区二区三区 | 国产宾馆实践打屁股91| 国产传媒日韩欧美成人| 国产91精品一区二区| 成人av一区二区三区| 91一区二区在线| 在线中文字幕一区| 欧美一区二区在线视频| 久久在线观看免费| 中文字幕欧美日韩一区| 亚洲欧美经典视频| 天天影视网天天综合色在线播放 | 国产精品久久看| 亚洲精品五月天| 香蕉成人啪国产精品视频综合网| 日韩va欧美va亚洲va久久| 狠狠久久亚洲欧美| 99国产精品久久久久久久久久久| 色综合 综合色| 欧美一区二区黄色| 国产精品网站一区| 亚洲一区二区美女| 麻豆精品一区二区综合av| 粉嫩绯色av一区二区在线观看| 一本色道久久综合狠狠躁的推荐| 欧美日韩一卡二卡三卡| 精品国产区一区| 自拍偷拍亚洲综合| 视频一区欧美日韩| 粉嫩av一区二区三区在线播放 | 欧美日韩一区成人| 欧美精品一区二区三区蜜桃| 亚洲日本丝袜连裤袜办公室| 视频一区二区三区在线| 国产成人激情av| 91麻豆精品国产自产在线观看一区| 精品福利一二区| 又紧又大又爽精品一区二区| 精品无人码麻豆乱码1区2区| 一本色道久久综合狠狠躁的推荐| 精品国产乱码久久久久久1区2区 | 日韩av网站免费在线| 成人激情开心网| 欧美精品第一页| 亚洲国产成人在线| 欧美一区二区三区四区视频| 欧美一级在线免费| 亚洲特黄一级片| 日韩制服丝袜av| 99久久夜色精品国产网站| 欧美日韩三级视频| 中文字幕亚洲视频| 狠狠色狠狠色综合日日91app| 一本久久a久久精品亚洲| 欧美一区在线视频| 一区二区三区在线观看动漫| 久久99精品国产91久久来源 | 日本韩国精品一区二区在线观看| 欧美不卡一区二区| 亚洲一区二区三区精品在线| 成人一级片网址| 日韩一区二区三| 一区二区三区自拍| a美女胸又www黄视频久久| xnxx国产精品| 欧美aⅴ一区二区三区视频| 色婷婷精品大视频在线蜜桃视频| 欧美国产日韩一二三区| 久久99精品国产麻豆不卡| 欧美情侣在线播放| 夜夜夜精品看看| 97精品久久久午夜一区二区三区| 精品国产人成亚洲区| 日韩成人免费在线| 制服丝袜av成人在线看| 亚洲第一综合色| 91福利社在线观看| 玉米视频成人免费看| 91视频在线观看免费| 国产精品日产欧美久久久久| 国产一区二区在线影院| 精品美女在线观看| 免费在线观看成人| 91精品国产综合久久精品麻豆| 亚洲va欧美va人人爽| 在线观看精品一区| 亚洲在线观看免费视频| 在线一区二区视频| 亚洲成人激情av| 6080国产精品一区二区| 日韩av网站在线观看| 日韩亚洲电影在线| 国内一区二区在线| 久久久久久久久一| 成人午夜私人影院| 国产精品国产三级国产aⅴ原创| jvid福利写真一区二区三区| ㊣最新国产の精品bt伙计久久| 成人精品国产一区二区4080| 国产精品久久久爽爽爽麻豆色哟哟| 成人91在线观看| 一区二区三区欧美亚洲| 欧美色精品在线视频| 图片区日韩欧美亚洲| 日韩欧美黄色影院| 国产精品夜夜嗨| 国产精品短视频| 欧美日韩一区二区三区视频| 麻豆国产精品一区二区三区 | 国产精品理论在线观看| 色综合网站在线| 极品销魂美女一区二区三区| 精品粉嫩超白一线天av| 成人理论电影网| 亚洲va天堂va国产va久| 久久你懂得1024| 日本道在线观看一区二区| 五月婷婷综合激情| 久久久精品国产免费观看同学|