📄 usb.h
字号:
/* Copyright (c) 2007 Nordic Semiconductor. All Rights Reserved.
*
* The information contained herein is property of Nordic Semiconductor ASA.
* Terms and conditions of usage are described in detail in NORDIC
* SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT.
*
* Licensees are granted free, non-transferable use of the information. NO
* WARRENTY of ANY KIND is provided. This heading must NOT be removed from
* the file.
*
* $LastChangedRevision: 2290 $
*/
/** @file
*
* This file contain structures and constants defined in Chapter 9 of the USB 2.0 standard
*
* @author Ken A. Redergaard
* @author Ole Saether
*
*/
#ifndef USB_H__
#define USB_H__
#include "usb_desc_bootloader.h"
#define USB_EP0_HSNAK() do {ep0cs = 0x02; } while(0)
#define USB_EP0_STALL() do {ep0cs = 0x11; } while(0) // Set both DSTALL and STALL when we want to stall a request during a SETUP transaction
#define INT_SUDAV 0x00
#define INT_SOF 0x04
#define INT_SUTOK 0x08
#define INT_SUSPEND 0x0C
#define INT_USBRESET 0x10
#define INT_EP0IN 0x18
#define INT_EP0OUT 0x1C
#define INT_EP1IN 0x20
#define INT_EP1OUT 0x24
#define USB_BM_STATE_CONFIGURED 0x01
#define USB_BM_STATE_ALLOW_REMOTE_WAKEUP 0x02
/** An enum describing the USB state
*
* The states described in this enum are found in Chapter 9 of the USB 2.0 specification
*/
typedef enum
{
ATTACHED,
POWERED,
DEFAULT,
ADDRESSED,
CONFIGURED,
SUSPENDED
} usb_state_t;
void usb_init(void);
void usb_irq(void);
#endif // USB_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -