]> git.sur5r.net Git - freertos/blob
406ba7de8c497681ddfa693eca49d1d8d359de19
[freertos] /
1 /*\r
2  * @brief Quadrature Encoder Interface Registers and control functions\r
3  *\r
4  * @note\r
5  * Copyright(C) NXP Semiconductors, 2012\r
6  * All rights reserved.\r
7  *\r
8  * @par\r
9  * Software that is described herein is for illustrative purposes only\r
10  * which provides customers with programming information regarding the\r
11  * LPC products.  This software is supplied "AS IS" without any warranties of\r
12  * any kind, and NXP Semiconductors and its licensor disclaim any and\r
13  * all warranties, express or implied, including all implied warranties of\r
14  * merchantability, fitness for a particular purpose and non-infringement of\r
15  * intellectual property rights.  NXP Semiconductors assumes no responsibility\r
16  * or liability for the use of the software, conveys no license or rights under any\r
17  * patent, copyright, mask work right, or any other intellectual property rights in\r
18  * or to any products. NXP Semiconductors reserves the right to make changes\r
19  * in the software without notification. NXP Semiconductors also makes no\r
20  * representation or warranty that such application will be suitable for the\r
21  * specified use without further testing or modification.\r
22  *\r
23  * @par\r
24  * Permission to use, copy, modify, and distribute this software and its\r
25  * documentation is hereby granted, under NXP Semiconductors' and its\r
26  * licensor's relevant copyrights in the software, without fee, provided that it\r
27  * is used in conjunction with NXP Semiconductors microcontrollers.  This\r
28  * copyright, permission, and disclaimer notice must appear in all copies of\r
29  * this code.\r
30  */\r
31 \r
32 #ifndef __QEI_001_H_\r
33 #define __QEI_001_H_\r
34 \r
35 #include "sys_config.h"\r
36 #include "cmsis.h"\r
37 \r
38 #ifdef __cplusplus\r
39 extern "C" {\r
40 #endif\r
41 \r
42 /** @defgroup IP_QEI_001 IP: QEI register block and driver\r
43  * @ingroup IP_Drivers\r
44  * Quadrature Encoder Interface\r
45  * @{\r
46  */\r
47 \r
48 /**\r
49  * @brief Quadrature Encoder Interface register block structure\r
50  */\r
51 typedef struct {                                /*!< QEI Structure          */\r
52         __O  uint32_t  CON;                     /*!< Control register       */\r
53         __I  uint32_t  STAT;            /*!< Encoder status register */\r
54         __IO uint32_t  CONF;            /*!< Configuration register */\r
55         __I  uint32_t  POS;                     /*!< Position register      */\r
56         __IO uint32_t  MAXPOS;          /*!< Maximum position register */\r
57         __IO uint32_t  CMPOS0;          /*!< position compare register 0 */\r
58         __IO uint32_t  CMPOS1;          /*!< position compare register 1 */\r
59         __IO uint32_t  CMPOS2;          /*!< position compare register 2 */\r
60         __I  uint32_t  INXCNT;          /*!< Index count register   */\r
61         __IO uint32_t  INXCMP0;         /*!< Index compare register 0 */\r
62         __IO uint32_t  LOAD;            /*!< Velocity timer reload register */\r
63         __I  uint32_t  TIME;            /*!< Velocity timer register */\r
64         __I  uint32_t  VEL;                     /*!< Velocity counter register */\r
65         __I  uint32_t  CAP;                     /*!< Velocity capture register */\r
66         __IO uint32_t  VELCOMP;         /*!< Velocity compare register */\r
67         __IO uint32_t  FILTERPHA;       /*!< Digital filter register on input phase A (QEI_A) */\r
68         __IO uint32_t  FILTERPHB;       /*!< Digital filter register on input phase B (QEI_B) */\r
69         __IO uint32_t  FILTERINX;       /*!< Digital filter register on input index (QEI_IDX) */\r
70         __IO uint32_t  WINDOW;          /*!< Index acceptance window register */\r
71         __IO uint32_t  INXCMP1;         /*!< Index compare register 1 */\r
72         __IO uint32_t  INXCMP2;         /*!< Index compare register 2 */\r
73         __I  uint32_t  RESERVED0[993];\r
74         __O  uint32_t  IEC;                     /*!< Interrupt enable clear register */\r
75         __O  uint32_t  IES;                     /*!< Interrupt enable set register */\r
76         __I  uint32_t  INTSTAT;         /*!< Interrupt status register */\r
77         __I  uint32_t  IE;                      /*!< Interrupt enable register */\r
78         __O  uint32_t  CLR;                     /*!< Interrupt status clear register */\r
79         __O  uint32_t  SET;                     /*!< Interrupt status set register */\r
80 } IP_QEI_001_T;\r
81 \r
82 /**\r
83  * @}\r
84  */\r
85 \r
86 #ifdef __cplusplus\r
87 }\r
88 #endif\r
89 \r
90 #endif /* __QEI_001_H_ */\r