These are the examples provided for [[/users/frank26080115/libraries/LPC1700CMSIS_Lib/]] Note, the entire "program" is not compilable!

Committer:
frank26080115
Date:
Sun Mar 20 05:38:56 2011 +0000
Revision:
0:bf7b9fba3924

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
frank26080115 0:bf7b9fba3924 1 /*----------------------------------------------------------------------------
frank26080115 0:bf7b9fba3924 2 * U S B - K e r n e l
frank26080115 0:bf7b9fba3924 3 *----------------------------------------------------------------------------
frank26080115 0:bf7b9fba3924 4 * Name: USBREG.H
frank26080115 0:bf7b9fba3924 5 * Purpose: USB Hardware Layer Definitions for NXP Semiconductors LPC
frank26080115 0:bf7b9fba3924 6 * family MCUs
frank26080115 0:bf7b9fba3924 7 * Version: V1.10
frank26080115 0:bf7b9fba3924 8 *----------------------------------------------------------------------------
frank26080115 0:bf7b9fba3924 9 * This software is supplied "AS IS" without any warranties, express,
frank26080115 0:bf7b9fba3924 10 * implied or statutory, including but not limited to the implied
frank26080115 0:bf7b9fba3924 11 * warranties of fitness for purpose, satisfactory quality and
frank26080115 0:bf7b9fba3924 12 * noninfringement. Keil extends you a royalty-free right to reproduce
frank26080115 0:bf7b9fba3924 13 * and distribute executable files created using this software for use
frank26080115 0:bf7b9fba3924 14 * on NXP Semiconductors LPC family microcontroller devices only. Nothing
frank26080115 0:bf7b9fba3924 15 * else gives you the right to use this software.
frank26080115 0:bf7b9fba3924 16 *
frank26080115 0:bf7b9fba3924 17 * Copyright (c) 2005-2009 Keil Software.
frank26080115 0:bf7b9fba3924 18 *---------------------------------------------------------------------------*/
frank26080115 0:bf7b9fba3924 19
frank26080115 0:bf7b9fba3924 20 #ifndef __USBREG_H
frank26080115 0:bf7b9fba3924 21 #define __USBREG_H
frank26080115 0:bf7b9fba3924 22
frank26080115 0:bf7b9fba3924 23 /* Device Interrupt Bit Definitions */
frank26080115 0:bf7b9fba3924 24 #define FRAME_INT 0x00000001
frank26080115 0:bf7b9fba3924 25 #define EP_FAST_INT 0x00000002
frank26080115 0:bf7b9fba3924 26 #define EP_SLOW_INT 0x00000004
frank26080115 0:bf7b9fba3924 27 #define DEV_STAT_INT 0x00000008
frank26080115 0:bf7b9fba3924 28 #define CCEMTY_INT 0x00000010
frank26080115 0:bf7b9fba3924 29 #define CDFULL_INT 0x00000020
frank26080115 0:bf7b9fba3924 30 #define RxENDPKT_INT 0x00000040
frank26080115 0:bf7b9fba3924 31 #define TxENDPKT_INT 0x00000080
frank26080115 0:bf7b9fba3924 32 #define EP_RLZED_INT 0x00000100
frank26080115 0:bf7b9fba3924 33 #define ERR_INT 0x00000200
frank26080115 0:bf7b9fba3924 34
frank26080115 0:bf7b9fba3924 35 /* Rx & Tx Packet Length Definitions */
frank26080115 0:bf7b9fba3924 36 #define PKT_LNGTH_MASK 0x000003FF
frank26080115 0:bf7b9fba3924 37 #define PKT_DV 0x00000400
frank26080115 0:bf7b9fba3924 38 #define PKT_RDY 0x00000800
frank26080115 0:bf7b9fba3924 39
frank26080115 0:bf7b9fba3924 40 /* USB Control Definitions */
frank26080115 0:bf7b9fba3924 41 #define CTRL_RD_EN 0x00000001
frank26080115 0:bf7b9fba3924 42 #define CTRL_WR_EN 0x00000002
frank26080115 0:bf7b9fba3924 43
frank26080115 0:bf7b9fba3924 44 /* Command Codes */
frank26080115 0:bf7b9fba3924 45 #define CMD_SET_ADDR 0x00D00500
frank26080115 0:bf7b9fba3924 46 #define CMD_CFG_DEV 0x00D80500
frank26080115 0:bf7b9fba3924 47 #define CMD_SET_MODE 0x00F30500
frank26080115 0:bf7b9fba3924 48 #define CMD_RD_FRAME 0x00F50500
frank26080115 0:bf7b9fba3924 49 #define DAT_RD_FRAME 0x00F50200
frank26080115 0:bf7b9fba3924 50 #define CMD_RD_TEST 0x00FD0500
frank26080115 0:bf7b9fba3924 51 #define DAT_RD_TEST 0x00FD0200
frank26080115 0:bf7b9fba3924 52 #define CMD_SET_DEV_STAT 0x00FE0500
frank26080115 0:bf7b9fba3924 53 #define CMD_GET_DEV_STAT 0x00FE0500
frank26080115 0:bf7b9fba3924 54 #define DAT_GET_DEV_STAT 0x00FE0200
frank26080115 0:bf7b9fba3924 55 #define CMD_GET_ERR_CODE 0x00FF0500
frank26080115 0:bf7b9fba3924 56 #define DAT_GET_ERR_CODE 0x00FF0200
frank26080115 0:bf7b9fba3924 57 #define CMD_RD_ERR_STAT 0x00FB0500
frank26080115 0:bf7b9fba3924 58 #define DAT_RD_ERR_STAT 0x00FB0200
frank26080115 0:bf7b9fba3924 59 #define DAT_WR_BYTE(x) (0x00000100 | ((x) << 16))
frank26080115 0:bf7b9fba3924 60 #define CMD_SEL_EP(x) (0x00000500 | ((x) << 16))
frank26080115 0:bf7b9fba3924 61 #define DAT_SEL_EP(x) (0x00000200 | ((x) << 16))
frank26080115 0:bf7b9fba3924 62 #define CMD_SEL_EP_CLRI(x) (0x00400500 | ((x) << 16))
frank26080115 0:bf7b9fba3924 63 #define DAT_SEL_EP_CLRI(x) (0x00400200 | ((x) << 16))
frank26080115 0:bf7b9fba3924 64 #define CMD_SET_EP_STAT(x) (0x00400500 | ((x) << 16))
frank26080115 0:bf7b9fba3924 65 #define CMD_CLR_BUF 0x00F20500
frank26080115 0:bf7b9fba3924 66 #define DAT_CLR_BUF 0x00F20200
frank26080115 0:bf7b9fba3924 67 #define CMD_VALID_BUF 0x00FA0500
frank26080115 0:bf7b9fba3924 68
frank26080115 0:bf7b9fba3924 69 /* Device Address Register Definitions */
frank26080115 0:bf7b9fba3924 70 #define DEV_ADDR_MASK 0x7F
frank26080115 0:bf7b9fba3924 71 #define DEV_EN 0x80
frank26080115 0:bf7b9fba3924 72
frank26080115 0:bf7b9fba3924 73 /* Device Configure Register Definitions */
frank26080115 0:bf7b9fba3924 74 #define CONF_DVICE 0x01
frank26080115 0:bf7b9fba3924 75
frank26080115 0:bf7b9fba3924 76 /* Device Mode Register Definitions */
frank26080115 0:bf7b9fba3924 77 #define AP_CLK 0x01
frank26080115 0:bf7b9fba3924 78 #define INAK_CI 0x02
frank26080115 0:bf7b9fba3924 79 #define INAK_CO 0x04
frank26080115 0:bf7b9fba3924 80 #define INAK_II 0x08
frank26080115 0:bf7b9fba3924 81 #define INAK_IO 0x10
frank26080115 0:bf7b9fba3924 82 #define INAK_BI 0x20
frank26080115 0:bf7b9fba3924 83 #define INAK_BO 0x40
frank26080115 0:bf7b9fba3924 84
frank26080115 0:bf7b9fba3924 85 /* Device Status Register Definitions */
frank26080115 0:bf7b9fba3924 86 #define DEV_CON 0x01
frank26080115 0:bf7b9fba3924 87 #define DEV_CON_CH 0x02
frank26080115 0:bf7b9fba3924 88 #define DEV_SUS 0x04
frank26080115 0:bf7b9fba3924 89 #define DEV_SUS_CH 0x08
frank26080115 0:bf7b9fba3924 90 #define DEV_RST 0x10
frank26080115 0:bf7b9fba3924 91
frank26080115 0:bf7b9fba3924 92 /* Error Code Register Definitions */
frank26080115 0:bf7b9fba3924 93 #define ERR_EC_MASK 0x0F
frank26080115 0:bf7b9fba3924 94 #define ERR_EA 0x10
frank26080115 0:bf7b9fba3924 95
frank26080115 0:bf7b9fba3924 96 /* Error Status Register Definitions */
frank26080115 0:bf7b9fba3924 97 #define ERR_PID 0x01
frank26080115 0:bf7b9fba3924 98 #define ERR_UEPKT 0x02
frank26080115 0:bf7b9fba3924 99 #define ERR_DCRC 0x04
frank26080115 0:bf7b9fba3924 100 #define ERR_TIMOUT 0x08
frank26080115 0:bf7b9fba3924 101 #define ERR_EOP 0x10
frank26080115 0:bf7b9fba3924 102 #define ERR_B_OVRN 0x20
frank26080115 0:bf7b9fba3924 103 #define ERR_BTSTF 0x40
frank26080115 0:bf7b9fba3924 104 #define ERR_TGL 0x80
frank26080115 0:bf7b9fba3924 105
frank26080115 0:bf7b9fba3924 106 /* Endpoint Select Register Definitions */
frank26080115 0:bf7b9fba3924 107 #define EP_SEL_F 0x01
frank26080115 0:bf7b9fba3924 108 #define EP_SEL_ST 0x02
frank26080115 0:bf7b9fba3924 109 #define EP_SEL_STP 0x04
frank26080115 0:bf7b9fba3924 110 #define EP_SEL_PO 0x08
frank26080115 0:bf7b9fba3924 111 #define EP_SEL_EPN 0x10
frank26080115 0:bf7b9fba3924 112 #define EP_SEL_B_1_FULL 0x20
frank26080115 0:bf7b9fba3924 113 #define EP_SEL_B_2_FULL 0x40
frank26080115 0:bf7b9fba3924 114
frank26080115 0:bf7b9fba3924 115 /* Endpoint Status Register Definitions */
frank26080115 0:bf7b9fba3924 116 #define EP_STAT_ST 0x01
frank26080115 0:bf7b9fba3924 117 #define EP_STAT_DA 0x20
frank26080115 0:bf7b9fba3924 118 #define EP_STAT_RF_MO 0x40
frank26080115 0:bf7b9fba3924 119 #define EP_STAT_CND_ST 0x80
frank26080115 0:bf7b9fba3924 120
frank26080115 0:bf7b9fba3924 121 /* Clear Buffer Register Definitions */
frank26080115 0:bf7b9fba3924 122 #define CLR_BUF_PO 0x01
frank26080115 0:bf7b9fba3924 123
frank26080115 0:bf7b9fba3924 124
frank26080115 0:bf7b9fba3924 125 /* DMA Interrupt Bit Definitions */
frank26080115 0:bf7b9fba3924 126 #define EOT_INT 0x01
frank26080115 0:bf7b9fba3924 127 #define NDD_REQ_INT 0x02
frank26080115 0:bf7b9fba3924 128 #define SYS_ERR_INT 0x04
frank26080115 0:bf7b9fba3924 129
frank26080115 0:bf7b9fba3924 130
frank26080115 0:bf7b9fba3924 131 #endif /* __USBREG_H */