adc_reg.h 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378
  1. /**************************************************************************//**
  2. * @file adc.h
  3. * @brief ADC driver header file
  4. *
  5. * SPDX-License-Identifier: Apache-2.0
  6. * @copyright (C) 2020~2021 Nuvoton Technology Corp. All rights reserved.
  7. *****************************************************************************/
  8. #ifndef __ADC_REG_H__
  9. #define __ADC_REG_H__
  10. #if defined ( __CC_ARM )
  11. #pragma anon_unions
  12. #endif
  13. /**
  14. @addtogroup REGISTER Control Register
  15. @{
  16. */
  17. /**
  18. @addtogroup ADC Analog to Digital Converter(ADC)
  19. Memory Mapped Structure for ADC Controller
  20. @{ */
  21. typedef struct
  22. {
  23. /**
  24. * @var ADC_T::CTL
  25. * Offset: 0x00 ADC Control
  26. * ---------------------------------------------------------------------------------------------------
  27. * |Bits |Field |Descriptions
  28. * | :----: | :----: | :---- |
  29. * |[0] |ADEN |ADC Power Control
  30. * | | |0 = Power down ADC.
  31. * | | |1 = Power on ADC.
  32. * |[8] |MST |Menu Start Conversion
  33. * | | |0 = Functional menu not started.
  34. * | | |1 = Start all enable bit in ADC_CONF register.
  35. * | | |Note: This bit is set by software and cleared by hardware when all the tasks listed in ADC_CONF are done.
  36. * |[9] |PEDEEN |Pen Down Event Enable Bit
  37. * | | |0 = Pen down event interrupt Disabled.
  38. * | | |1 = Pen down event interrupt Enabled.
  39. * |[11] |WKTEN |Touch Wake Up Enable Bit
  40. * | | |0 = Touch wake-up Disabled.
  41. * | | |1 = Touch wake-up Enabled.
  42. * |[16] |WMSWCH |Wire Mode Switch for 5-wire/4-wire Configuration
  43. * | | |0 = 4-wire mode.
  44. * | | |1 = 5-wire mode.
  45. * @var ADC_T::CONF
  46. * Offset: 0x04 ADC Configure
  47. * ---------------------------------------------------------------------------------------------------
  48. * |Bits |Field |Descriptions
  49. * | :----: | :----: | :---- |
  50. * |[0] |TEN |Touch Detection Enable Bit
  51. * | | |0 = Touch detection function Disabled.
  52. * | | |1 = Touch detection function Enabled.
  53. * |[1] |ZEN |Press Measure Enable Bit
  54. * | | |1 = Press measure function Disabled.
  55. * | | |1 = Press measure function Enabled.
  56. * |[2] |NACEN |Normal A/D Conversion Enable Bit
  57. * | | |ADC normal conversion function enable
  58. * | | |0 = Normal A/D Conversion Disabled.
  59. * | | |1 = Normal A/D Conversion Enabled.
  60. * |[7:6] |REFSEL |ADC Reference Select
  61. * | | |ADC reference voltage select when ADC operate in normal conversion.
  62. * | | |00 = AGND33 vs VREF input.
  63. * | | |01 = YM vs YP.
  64. * | | |10 = XM vs XP.
  65. * | | |11 = AGND33 vs AVDD33.
  66. * |[14:12] |CHSEL |Channel Selection
  67. * | | |ADC input channel selection.
  68. * | | |000 = VREF.
  69. * | | |001 = A1.
  70. * | | |010 = A2.
  71. * | | |011 = VSENSE.
  72. * | | |100 = YM.
  73. * | | |101 = YP.
  74. * | | |110 = XM.
  75. * | | |111 = XP.
  76. * |[20] |TMAVDIS |Display T Mean Average Disable Bit
  77. * | | |Touch mean average for X and Y function disable bit.
  78. * | | |0 = Touch mean average for X and Y function Enabled.
  79. * | | |1 = Touch mean average for X and Y function Disabled.
  80. * |[21] |ZMAVDIS |Display Z Mean Average Disable Bit
  81. * | | |Pressure mean average for Z1 and Z2 function disable bit.
  82. * | | |0 = Pressure mean average for Z1 and Z2 function Enabled.
  83. * | | |1 = Pressure mean average for Z1 and Z2 function Disabled.
  84. * |[22] |SPEED |Speed Mode Selection
  85. * | | |0 = All ADC channels set to high speed mode.
  86. * | | |1 = All ADC channels set to low speed mode.
  87. * @var ADC_T::IER
  88. * Offset: 0x08 ADC Interrupt Enable Register
  89. * ---------------------------------------------------------------------------------------------------
  90. * |Bits |Field |Descriptions
  91. * | :----: | :----: | :---- |
  92. * |[0] |MIEN |Menu Interrupt Enable Bit
  93. * | | |Function menu complete interrupt enable.
  94. * | | |0 = Menu interrupt Disabled.
  95. * | | |1 = Menu interrupt Enabled.
  96. * |[2] |PEDEIEN |Pen Down Event Interrupt Enable Bit
  97. * | | |0 = Pen down event detection interrupt Disabled.
  98. * | | |1 = Pen down event detection interrupt Enabled.
  99. * |[3] |WKTIEN |Wake Up Touch Interrupt Enable Bit
  100. * | | |0 = Wake up touch detection interrupt Disabled.
  101. * | | |1 = Wake up touch detection interrupt Enabled.
  102. * |[6] |PEUEIEN |Pen Up Event Interrupt Enable Bit
  103. * | | |0 = Pen up event detection interrupt Disabled.
  104. * | | |1 = Pen up event detection interrupt Enabled.
  105. * @var ADC_T::ISR
  106. * Offset: 0x0C ADC Interrupt Status Register
  107. * ---------------------------------------------------------------------------------------------------
  108. * |Bits |Field |Descriptions
  109. * | :----: | :----: | :---- |
  110. * |[0] |MF |Menu Complete Flag
  111. * | | |Function menu complete status indicator.
  112. * | | |Note: Set by hardware and write 1 to clear this bit.
  113. * |[2] |PEDEF |Pen Down Event Flag
  114. * | | |Pen down event status indicator.
  115. * | | |Note: Set by hardware and write 1 to clear this bit.
  116. * |[4] |PEUEF |Pen Up Event Flag
  117. * | | |Pen up event status indicator.
  118. * | | |Note: Set by hardware and write 1 to clear this bit.
  119. * |[8] |TF |Touch Conversion Finish
  120. * | | |Functional menu touch detection conversion finish.
  121. * | | |Note: Set by hardware and write 1 to clear this bit.
  122. * |[9] |ZF |Press Conversion Finish
  123. * | | |Functional menu press measure conversion finish.
  124. * | | |Note: Set by hardware and write 1 to clear this bit.
  125. * |[10] |NACF |Normal AD Conversion Finish
  126. * | | |Functional menu normal AD conversion finish.
  127. * | | |Note: Set by hardware and write 1 to clear this bit.
  128. * |[17] |INTTC |Interrupt Signal for Touch Screen Touching Detection
  129. * | | |This signal is directly from analog macro without de-bouncing and can be used to determine the pen down touch event together with PEDEF (ADC_ISR[2]) flag.
  130. * @var ADC_T::WKISR
  131. * Offset: 0x10 ADC Wake-up interrupt Status Register
  132. * ---------------------------------------------------------------------------------------------------
  133. * |Bits |Field |Descriptions
  134. * | :----: | :----: | :---- |
  135. * |[1] |WPEDEF |Wake Up Pen Down Event Flag
  136. * | | |Pen down event wake up status indicator.
  137. * @var ADC_T::XYDATA
  138. * Offset: 0x20 ADC Touch X,Y Position Data
  139. * ---------------------------------------------------------------------------------------------------
  140. * |Bits |Field |Descriptions
  141. * | :----: | :----: | :---- |
  142. * |[11:0] |XDATA |ADC X Data
  143. * | | |When TEN (ADC_CONF[0]) is set, the touch x-position will be stored in this register.
  144. * | | |Note: If the TMAVDIS (ADC_CONF[20]) = 0, both x and y position are the results of the mean average of x and y in ADC_XYSORT0 ~ ADC_XYSORT3.
  145. * |[27:16] |YDATA |ADC Y Data
  146. * | | |When TEN (ADC_CONF[0]) is set, the touch y-position will be stored in this register.
  147. * | | |Note: If the TMAVDIS (ADC_CONF[20]) = 0, both x and y position are the results of the mean average of x and y in ADC_XYSORT0 ~ ADC_XYSORT3.
  148. * @var ADC_T::ZDATA
  149. * Offset: 0x24 ADC Touch Z Pressure Data
  150. * ---------------------------------------------------------------------------------------------------
  151. * |Bits |Field |Descriptions
  152. * | :----: | :----: | :---- |
  153. * |[11:0] |Z1DATA |ADC Z1 Data
  154. * | | |When ZEN (ADC_CONF[1]) is set; the touch pressure measure Z1 will be stored in this register.
  155. * | | |Note: If the ZMAVDIS (ADC_CONF[21]) = 0, both Z1 and Z2 data is the results of the mean average of Z1 and Z2 in ADC_ZSORT0 ~ ADC_ZSORT3.
  156. * |[27:16] |Z2DATA |ADC Z2 Data
  157. * | | |When ZEN (ADC_CONF[1]) is set; the touch pressure measure Z2 will be stored in this register.
  158. * | | |Note: If the ZMAVDIS (ADC_CONF[21]) = 0, both Z1 and Z2 data is the results of the mean average of Z1 and Z2 in ADC_ZSORT0 ~ ADC_ZSORT3.
  159. * @var ADC_T::DATA
  160. * Offset: 0x28 ADC Normal Conversion Data
  161. * ---------------------------------------------------------------------------------------------------
  162. * |Bits |Field |Descriptions
  163. * | :----: | :----: | :---- |
  164. * |[11:0] |ADCDATA |ADC Data
  165. * | | |When NACEN (ADC_CONF[2]) is enabled, the AD converting result with corresponding channel is stored in this register.
  166. * @var ADC_T::XYSORT0
  167. * Offset: 0x1F4 ADC Touch XY Position Mean Value Sort 0
  168. * ---------------------------------------------------------------------------------------------------
  169. * |Bits |Field |Descriptions
  170. * | :----: | :----: | :---- |
  171. * |[11:0] |XSORT0 |X Position Sort Data 0
  172. * | | |X position mean average sort data 0.
  173. * |[27:16] |YSORT0 |Y Position Sort Data 0
  174. * | | |Y position mean average sort data 0.
  175. * @var ADC_T::XYSORT1
  176. * Offset: 0x1F8 ADC Touch XY Position Mean Value Sort 1
  177. * ---------------------------------------------------------------------------------------------------
  178. * |Bits |Field |Descriptions
  179. * | :----: | :----: | :---- |
  180. * |[11:0] |XSORT1 |X Position Sort Data 1
  181. * | | |X position mean average sort data 1.
  182. * |[27:16] |YSORT1 |Y Position Sort Data 1
  183. * | | |Y position mean average sort data 1.
  184. * @var ADC_T::XYSORT2
  185. * Offset: 0x1FC ADC Touch XY Position Mean Value Sort 2
  186. * ---------------------------------------------------------------------------------------------------
  187. * |Bits |Field |Descriptions
  188. * | :----: | :----: | :---- |
  189. * |[11:0] |XSORT2 |X Position Sort Data 2
  190. * | | |X position mean average sort data 2.
  191. * |[27:16] |YSORT2 |Y Position Sort Data 2
  192. * | | |Y position mean average sort data 2.
  193. * @var ADC_T::XYSORT3
  194. * Offset: 0x200 ADC Touch XY Position Mean Value Sort 3
  195. * ---------------------------------------------------------------------------------------------------
  196. * |Bits |Field |Descriptions
  197. * | :----: | :----: | :---- |
  198. * |[11:0] |XSORT3 |X Position Sort Data 3
  199. * | | |X position mean average sort data 3.
  200. * |[27:16] |YSORT3 |Y Position Sort Data 3
  201. * | | |Y position mean average sort data 3.
  202. * @var ADC_T::ZSORT0
  203. * Offset: 0x204 ADC Touch Z Pressure Mean Value Sort 0
  204. * ---------------------------------------------------------------------------------------------------
  205. * |Bits |Field |Descriptions
  206. * | :----: | :----: | :---- |
  207. * |[11:0] |Z1SORT0 |Z1 Position Sort Data 0
  208. * | | |Z1 position Mean average sort data 0.
  209. * |[27:16] |Z2SORT0 |Z2 Position Sort Data 0
  210. * | | |Z2 position Mean average sort data 0.
  211. * @var ADC_T::ZSORT1
  212. * Offset: 0x208 ADC Touch Z Pressure Mean Value Sort 1
  213. * ---------------------------------------------------------------------------------------------------
  214. * |Bits |Field |Descriptions
  215. * | :----: | :----: | :---- |
  216. * |[11:0] |Z1SORT1 |Z1 Position Sort Data 1
  217. * | | |Z1 position Mean average sort data 1.
  218. * |[27:16] |Z2SORT1 |Z2 Position Sort Data 1
  219. * | | |Z2 position Mean average sort data 1.
  220. * @var ADC_T::ZSORT2
  221. * Offset: 0x20C ADC Touch Z Pressure Mean Value Sort 2
  222. * ---------------------------------------------------------------------------------------------------
  223. * |Bits |Field |Descriptions
  224. * | :----: | :----: | :---- |
  225. * |[11:0] |Z1SORT2 |Z1 Position Sort Data 2
  226. * | | |Z1 position Mean average sort data 2.
  227. * |[27:16] |Z2SORT2 |Z2 Position Sort Data 2
  228. * | | |Z2 position Mean average sort data 2.
  229. * @var ADC_T::ZSORT3
  230. * Offset: 0x210 ADC Touch Z Pressure Mean Value Sort 3
  231. * ---------------------------------------------------------------------------------------------------
  232. * |Bits |Field |Descriptions
  233. * | :----: | :----: | :---- |
  234. * |[11:0] |Z1SORT3 |Z1 Position Sort Data 3
  235. * | | |Z1 position Mean average sort data 3.
  236. * |[27:16] |Z2SORT3 |Z2 Position Sort Data 3
  237. * | | |Z2 position Mean average sort data 3.
  238. */
  239. __IO uint32_t CTL; /*!< [0x0000] ADC Control */
  240. __IO uint32_t CONF; /*!< [0x0004] ADC Configure */
  241. __IO uint32_t IER; /*!< [0x0008] ADC Interrupt Enable Register */
  242. __IO uint32_t ISR; /*!< [0x000c] ADC Interrupt Status Register */
  243. __I uint32_t WKISR; /*!< [0x0010] ADC Wake-up interrupt Status Register */
  244. __I uint32_t RESERVE0[3];
  245. __I uint32_t XYDATA; /*!< [0x0020] ADC Touch X,Y Position Data */
  246. __I uint32_t ZDATA; /*!< [0x0024] ADC Touch Z Pressure Data */
  247. __I uint32_t DATA; /*!< [0x0028] ADC Normal Conversion Data */
  248. __I uint32_t RESERVE1[114];
  249. __I uint32_t XYSORT[4]; /*!< [0x01f4~0x0200] ADC Touch XY Position Mean Value Sort Register */
  250. __I uint32_t ZSORT0[4]; /*!< [0x0204~0x0210] ADC Touch Z Pressure Mean Value Sort Register */
  251. } ADC_T;
  252. /**
  253. @addtogroup ADC_CONST ADC Bit Field Definition
  254. Constant Definitions for ADC Controller
  255. @{ */
  256. #define ADC_CTL_ADEN_Pos (0) /*!< ADC_T::CTL: ADEN Position */
  257. #define ADC_CTL_ADEN_Msk (0x1ul << ADC_CTL_ADEN_Pos) /*!< ADC_T::CTL: ADEN Mask */
  258. #define ADC_CTL_MST_Pos (8) /*!< ADC_T::CTL: MST Position */
  259. #define ADC_CTL_MST_Msk (0x1ul << ADC_CTL_MST_Pos) /*!< ADC_T::CTL: MST Mask */
  260. #define ADC_CTL_PEDEEN_Pos (9) /*!< ADC_T::CTL: PEDEEN Position */
  261. #define ADC_CTL_PEDEEN_Msk (0x1ul << ADC_CTL_PEDEEN_Pos) /*!< ADC_T::CTL: PEDEEN Mask */
  262. #define ADC_CTL_WKTEN_Pos (11) /*!< ADC_T::CTL: WKTEN Position */
  263. #define ADC_CTL_WKTEN_Msk (0x1ul << ADC_CTL_WKTEN_Pos) /*!< ADC_T::CTL: WKTEN Mask */
  264. #define ADC_CTL_WMSWCH_Pos (16) /*!< ADC_T::CTL: WMSWCH Position */
  265. #define ADC_CTL_WMSWCH_Msk (0x1ul << ADC_CTL_WMSWCH_Pos) /*!< ADC_T::CTL: WMSWCH Mask */
  266. #define ADC_CONF_TEN_Pos (0) /*!< ADC_T::CONF: TEN Position */
  267. #define ADC_CONF_TEN_Msk (0x1ul << ADC_CONF_TEN_Pos) /*!< ADC_T::CONF: TEN Mask */
  268. #define ADC_CONF_ZEN_Pos (1) /*!< ADC_T::CONF: ZEN Position */
  269. #define ADC_CONF_ZEN_Msk (0x1ul << ADC_CONF_ZEN_Pos) /*!< ADC_T::CONF: ZEN Mask */
  270. #define ADC_CONF_NACEN_Pos (2) /*!< ADC_T::CONF: NACEN Position */
  271. #define ADC_CONF_NACEN_Msk (0x1ul << ADC_CONF_NACEN_Pos) /*!< ADC_T::CONF: NACEN Mask */
  272. #define ADC_CONF_REFSEL_Pos (6) /*!< ADC_T::CONF: REFSEL Position */
  273. #define ADC_CONF_REFSEL_Msk (0x3ul << ADC_CONF_REFSEL_Pos) /*!< ADC_T::CONF: REFSEL Mask */
  274. #define ADC_CONF_CHSEL_Pos (12) /*!< ADC_T::CONF: CHSEL Position */
  275. #define ADC_CONF_CHSEL_Msk (0x7ul << ADC_CONF_CHSEL_Pos) /*!< ADC_T::CONF: CHSEL Mask */
  276. #define ADC_CONF_TMAVDIS_Pos (20) /*!< ADC_T::CONF: TMAVDIS Position */
  277. #define ADC_CONF_TMAVDIS_Msk (0x1ul << ADC_CONF_TMAVDIS_Pos) /*!< ADC_T::CONF: TMAVDIS Mask */
  278. #define ADC_CONF_ZMAVDIS_Pos (21) /*!< ADC_T::CONF: ZMAVDIS Position */
  279. #define ADC_CONF_ZMAVDIS_Msk (0x1ul << ADC_CONF_ZMAVDIS_Pos) /*!< ADC_T::CONF: ZMAVDIS Mask */
  280. #define ADC_CONF_SPEED_Pos (22) /*!< ADC_T::CONF: SPEED Position */
  281. #define ADC_CONF_SPEED_Msk (0x1ul << ADC_CONF_SPEED_Pos) /*!< ADC_T::CONF: SPEED Mask */
  282. #define ADC_IER_MIEN_Pos (0) /*!< ADC_T::IER: MIEN Position */
  283. #define ADC_IER_MIEN_Msk (0x1ul << ADC_IER_MIEN_Pos) /*!< ADC_T::IER: MIEN Mask */
  284. #define ADC_IER_PEDEIEN_Pos (2) /*!< ADC_T::IER: PEDEIEN Position */
  285. #define ADC_IER_PEDEIEN_Msk (0x1ul << ADC_IER_PEDEIEN_Pos) /*!< ADC_T::IER: PEDEIEN Mask */
  286. #define ADC_IER_WKTIEN_Pos (3) /*!< ADC_T::IER: WKTIEN Position */
  287. #define ADC_IER_WKTIEN_Msk (0x1ul << ADC_IER_WKTIEN_Pos) /*!< ADC_T::IER: WKTIEN Mask */
  288. #define ADC_IER_PEUEIEN_Pos (6) /*!< ADC_T::IER: PEUEIEN Position */
  289. #define ADC_IER_PEUEIEN_Msk (0x1ul << ADC_IER_PEUEIEN_Pos) /*!< ADC_T::IER: PEUEIEN Mask */
  290. #define ADC_ISR_MF_Pos (0) /*!< ADC_T::ISR: MF Position */
  291. #define ADC_ISR_MF_Msk (0x1ul << ADC_ISR_MF_Pos) /*!< ADC_T::ISR: MF Mask */
  292. #define ADC_ISR_PEDEF_Pos (2) /*!< ADC_T::ISR: PEDEF Position */
  293. #define ADC_ISR_PEDEF_Msk (0x1ul << ADC_ISR_PEDEF_Pos) /*!< ADC_T::ISR: PEDEF Mask */
  294. #define ADC_ISR_PEUEF_Pos (4) /*!< ADC_T::ISR: PEUEF Position */
  295. #define ADC_ISR_PEUEF_Msk (0x1ul << ADC_ISR_PEUEF_Pos) /*!< ADC_T::ISR: PEUEF Mask */
  296. #define ADC_ISR_TF_Pos (8) /*!< ADC_T::ISR: TF Position */
  297. #define ADC_ISR_TF_Msk (0x1ul << ADC_ISR_TF_Pos) /*!< ADC_T::ISR: TF Mask */
  298. #define ADC_ISR_ZF_Pos (9) /*!< ADC_T::ISR: ZF Position */
  299. #define ADC_ISR_ZF_Msk (0x1ul << ADC_ISR_ZF_Pos) /*!< ADC_T::ISR: ZF Mask */
  300. #define ADC_ISR_NACF_Pos (10) /*!< ADC_T::ISR: NACF Position */
  301. #define ADC_ISR_NACF_Msk (0x1ul << ADC_ISR_NACF_Pos) /*!< ADC_T::ISR: NACF Mask */
  302. #define ADC_ISR_INTTC_Pos (17) /*!< ADC_T::ISR: INTTC Position */
  303. #define ADC_ISR_INTTC_Msk (0x1ul << ADC_ISR_INTTC_Pos) /*!< ADC_T::ISR: INTTC Mask */
  304. #define ADC_WKISR_WPEDEF_Pos (1) /*!< ADC_T::WKISR: WPEDEF Position */
  305. #define ADC_WKISR_WPEDEF_Msk (0x1ul << ADC_WKISR_WPEDEF_Pos) /*!< ADC_T::WKISR: WPEDEF Mask */
  306. #define ADC_XYDATA_XDATA_Pos (0) /*!< ADC_T::XYDATA: XDATA Position */
  307. #define ADC_XYDATA_XDATA_Msk (0xffful << ADC_XYDATA_XDATA_Pos) /*!< ADC_T::XYDATA: XDATA Mask */
  308. #define ADC_XYDATA_YDATA_Pos (16) /*!< ADC_T::XYDATA: YDATA Position */
  309. #define ADC_XYDATA_YDATA_Msk (0xffful << ADC_XYDATA_YDATA_Pos) /*!< ADC_T::XYDATA: YDATA Mask */
  310. #define ADC_ZDATA_Z1DATA_Pos (0) /*!< ADC_T::ZDATA: Z1DATA Position */
  311. #define ADC_ZDATA_Z1DATA_Msk (0xffful << ADC_ZDATA_Z1DATA_Pos) /*!< ADC_T::ZDATA: Z1DATA Mask */
  312. #define ADC_ZDATA_Z2DATA_Pos (16) /*!< ADC_T::ZDATA: Z2DATA Position */
  313. #define ADC_ZDATA_Z2DATA_Msk (0xffful << ADC_ZDATA_Z2DATA_Pos) /*!< ADC_T::ZDATA: Z2DATA Mask */
  314. #define ADC_DATA_ADCDATA_Pos (0) /*!< ADC_T::DATA: ADCDATA Position */
  315. #define ADC_DATA_ADCDATA_Msk (0xffful << ADC_DATA_ADCDATA_Pos) /*!< ADC_T::DATA: ADCDATA Mask */
  316. #define ADC_XYSORT_XSORT_Pos (0) /*!< ADC_T::XYSORT: XSORT Position */
  317. #define ADC_XYSORT_XSORT_Msk (0xffful << ADC_XYSORT_XSORT_Pos) /*!< ADC_T::XYSORT: XSORT Mask */
  318. #define ADC_XYSORT_YSORT_Pos (16) /*!< ADC_T::XYSORT: YSORT Position */
  319. #define ADC_XYSORT_YSORT_Msk (0xffful << ADC_XYSORT_YSORT_Pos) /*!< ADC_T::XYSORT: YSORT Mask */
  320. #define ADC_ZSORT_Z1SORT_Pos (0) /*!< ADC_T::ZSORT: Z1SORT Position */
  321. #define ADC_ZSORT_Z1SORT_Msk (0xffful << ADC_ZSORT_Z1SORT_Pos) /*!< ADC_T::ZSORT: Z1SORT Mask */
  322. #define ADC_ZSORT_Z2SORT_Pos (16) /*!< ADC_T::ZSORT: Z2SORT Position */
  323. #define ADC_ZSORT_Z2SORT_Msk (0xffful << ADC_ZSORT_Z2SORT_Pos) /*!< ADC_T::ZSORT: Z2SORT Mask */
  324. /**@}*/ /* ADC_CONST */
  325. /**@}*/ /* end of ADC register group */
  326. /**@}*/ /* end of REGISTER group */
  327. #if defined ( __CC_ARM )
  328. #pragma no_anon_unions
  329. #endif
  330. #endif //__ADC_REG_H__