r_pdl_adc_12.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. /*""FILE COMMENT""*******************************************************
  2. * System Name : 12-bit ADC converter API for RX62Nxx
  3. * File Name : r_pdl_adc_12.h
  4. * Version : 1.02
  5. * Contents : ADC_12 function prototypes
  6. * Customer :
  7. * Model :
  8. * Order :
  9. * CPU : RX
  10. * Compiler : RXC
  11. * OS :
  12. * Programmer :
  13. * Note :
  14. ************************************************************************
  15. * Copyright, 2011. Renesas Electronics Corporation
  16. * and Renesas Solutions Corporation
  17. ************************************************************************
  18. * History : 2011.04.08
  19. * : Ver 1.02
  20. * : CS-5 release.
  21. *""FILE COMMENT END""**************************************************/
  22. #ifndef R_PDL_ADC_12_H
  23. #define R_PDL_ADC_12_H
  24. #include "r_pdl_common_defs_RX62Nxx.h"
  25. /* Function prototypes */
  26. bool R_ADC_12_Create(
  27. uint8_t,
  28. uint32_t,
  29. uint16_t,
  30. uint16_t,
  31. void *,
  32. uint8_t
  33. );
  34. bool R_ADC_12_Destroy(
  35. uint8_t
  36. );
  37. bool R_ADC_12_Control(
  38. uint8_t
  39. );
  40. bool R_ADC_12_Read(
  41. uint8_t,
  42. uint16_t *
  43. );
  44. /* Scan mode */
  45. #define PDL_ADC_12_SCAN_SINGLE 0x00000001ul
  46. #define PDL_ADC_12_SCAN_CONTINUOUS 0x00000002ul
  47. // Input channel selection
  48. #define PDL_ADC_12_CHANNEL_0 0x00000004ul
  49. #define PDL_ADC_12_CHANNEL_1 0x00000008ul
  50. #define PDL_ADC_12_CHANNEL_2 0x00000010ul
  51. #define PDL_ADC_12_CHANNEL_3 0x00000020ul
  52. #define PDL_ADC_12_CHANNEL_4 0x00000040ul
  53. #define PDL_ADC_12_CHANNEL_5 0x00000080ul
  54. #define PDL_ADC_12_CHANNEL_6 0x00000100ul
  55. #define PDL_ADC_12_CHANNEL_7 0x00000200ul
  56. /* Clock division */
  57. #define PDL_ADC_12_DIV_1 0x00000400ul
  58. #define PDL_ADC_12_DIV_2 0x00000800ul
  59. #define PDL_ADC_12_DIV_4 0x00001000ul
  60. #define PDL_ADC_12_DIV_8 0x00002000ul
  61. /* Data alignment */
  62. #define PDL_ADC_12_DATA_ALIGNMENT_LEFT 0x00004000ul
  63. #define PDL_ADC_12_DATA_ALIGNMENT_RIGHT 0x00008000ul
  64. /* Result register clearing */
  65. #define PDL_ADC_12_RETAIN_RESULT 0x00010000ul
  66. #define PDL_ADC_12_CLEAR_RESULT 0x00020000ul
  67. /* DMAC / DTC trigger control */
  68. #define PDL_ADC_12_DMAC_DTC_TRIGGER_DISABLE 0x00040000ul
  69. #define PDL_ADC_12_DMAC_TRIGGER_ENABLE 0x00080000ul
  70. #define PDL_ADC_12_DTC_TRIGGER_ENABLE 0x00100000ul
  71. /* Trigger selection */
  72. #define PDL_ADC_12_TRIGGER_SOFTWARE 0x0001u
  73. #define PDL_ADC_12_TRIGGER_ADTRG0 0x0002u
  74. #define PDL_ADC_12_TRIGGER_MTU0_ICCM_A 0x0004u
  75. #define PDL_ADC_12_TRIGGER_MTU0_ICCM_B 0x0008u
  76. #define PDL_ADC_12_TRIGGER_MTU0_MTU4_ICCM 0x0010u
  77. #define PDL_ADC_12_TRIGGER_MTU6_MTU10_ICCM 0x0020u
  78. #define PDL_ADC_12_TRIGGER_MTU0_CM_E 0x0040u
  79. #define PDL_ADC_12_TRIGGER_MTU0_CM_F 0x0080u
  80. #define PDL_ADC_12_TRIGGER_MTU4_CM 0x0100u
  81. #define PDL_ADC_12_TRIGGER_MTU10_CM 0x0200u
  82. #define PDL_ADC_12_TRIGGER_TMR0 0x0400u
  83. #define PDL_ADC_12_TRIGGER_TMR2 0x0800u
  84. /* Pin selection */
  85. #define PDL_ADC_12_PIN_ADTRG0_A 0x1000u
  86. #define PDL_ADC_12_PIN_ADTRG0_B 0x2000u
  87. /* Value addition mode selection */
  88. #define PDL_ADC_12_VALUE_ADD_CHANNEL_0 0x0001u
  89. #define PDL_ADC_12_VALUE_ADD_CHANNEL_1 0x0002u
  90. #define PDL_ADC_12_VALUE_ADD_CHANNEL_2 0x0004u
  91. #define PDL_ADC_12_VALUE_ADD_CHANNEL_3 0x0008u
  92. #define PDL_ADC_12_VALUE_ADD_CHANNEL_4 0x0010u
  93. #define PDL_ADC_12_VALUE_ADD_CHANNEL_5 0x0020u
  94. #define PDL_ADC_12_VALUE_ADD_CHANNEL_6 0x0040u
  95. #define PDL_ADC_12_VALUE_ADD_CHANNEL_7 0x0080u
  96. /* Value addition count selection */
  97. #define PDL_ADC_12_VALUE_ADD_TIME_1 0x0100u
  98. #define PDL_ADC_12_VALUE_ADD_TIME_2 0x0200u
  99. #define PDL_ADC_12_VALUE_ADD_TIME_3 0x0400u
  100. #define PDL_ADC_12_VALUE_ADD_TIME_4 0x0800u
  101. /* On / off control */
  102. #define PDL_ADC_12_0_ON 0x01u
  103. #define PDL_ADC_12_0_OFF 0x02u
  104. /* CPU control */
  105. #define PDL_ADC_12_CPU_OFF 0x04u
  106. #endif
  107. /* End of file */