adc_config.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /*
  2. * Copyright (c) 2006-2023, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2020-06-16 thread-liu first version
  9. */
  10. #ifndef __ADC_CONFIG_H__
  11. #define __ADC_CONFIG_H__
  12. #include <rtthread.h>
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. #ifdef BSP_USING_ADC1
  17. #ifndef ADC1_CONFIG
  18. #define ADC1_CONFIG \
  19. { \
  20. .Instance = ADC1, \
  21. .Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2, \
  22. .Init.Resolution = ADC_RESOLUTION_12B, \
  23. .Init.ScanConvMode = ADC_SCAN_DISABLE, \
  24. .Init.EOCSelection = ADC_EOC_SINGLE_CONV, \
  25. .Init.LowPowerAutoWait = DISABLE, \
  26. .Init.ContinuousConvMode = DISABLE, \
  27. .Init.NbrOfConversion = 1, \
  28. .Init.DiscontinuousConvMode = DISABLE, \
  29. .Init.NbrOfDiscConversion = 1, \
  30. .Init.ExternalTrigConv = ADC_SOFTWARE_START, \
  31. .Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE, \
  32. .Init.ConversionDataManagement = ADC_CONVERSIONDATA_DR, \
  33. .Init.Overrun = ADC_OVR_DATA_OVERWRITTEN, \
  34. .Init.OversamplingMode = DISABLE, \
  35. }
  36. #endif /* ADC1_CONFIG */
  37. #endif /* BSP_USING_ADC1 */
  38. #ifdef BSP_USING_ADC2
  39. #ifndef ADC2_CONFIG
  40. #define ADC2_CONFIG \
  41. { \
  42. .Instance = ADC2, \
  43. .Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2, \
  44. .Init.Resolution = ADC_RESOLUTION_12B, \
  45. .Init.ScanConvMode = ADC_SCAN_DISABLE, \
  46. .Init.EOCSelection = ADC_EOC_SINGLE_CONV, \
  47. .Init.LowPowerAutoWait = DISABLE, \
  48. .Init.ContinuousConvMode = DISABLE, \
  49. .Init.NbrOfConversion = 1, \
  50. .Init.DiscontinuousConvMode = DISABLE, \
  51. .Init.NbrOfDiscConversion = 1, \
  52. .Init.ExternalTrigConv = ADC_SOFTWARE_START, \
  53. .Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE, \
  54. .Init.ConversionDataManagement = ADC_CONVERSIONDATA_DR, \
  55. .Init.Overrun = ADC_OVR_DATA_OVERWRITTEN, \
  56. .Init.OversamplingMode = DISABLE, \
  57. }
  58. #endif /* ADC2_CONFIG */
  59. #endif /* BSP_USING_ADC2 */
  60. #ifdef BSP_USING_ADC3
  61. #ifndef ADC3_CONFIG
  62. #define ADC3_CONFIG \
  63. { \
  64. .Instance = ADC3, \
  65. .Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2, \
  66. .Init.Resolution = ADC_RESOLUTION_12B, \
  67. .Init.ScanConvMode = ADC_SCAN_DISABLE, \
  68. .Init.EOCSelection = ADC_EOC_SINGLE_CONV, \
  69. .Init.LowPowerAutoWait = DISABLE, \
  70. .Init.ContinuousConvMode = DISABLE, \
  71. .Init.NbrOfConversion = 1, \
  72. .Init.DiscontinuousConvMode = DISABLE, \
  73. .Init.NbrOfDiscConversion = 1, \
  74. .Init.ExternalTrigConv = ADC_SOFTWARE_START, \
  75. .Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE, \
  76. .Init.ConversionDataManagement = ADC_CONVERSIONDATA_DR, \
  77. .Init.Overrun = ADC_OVR_DATA_OVERWRITTEN, \
  78. .Init.OversamplingMode = DISABLE, \
  79. }
  80. #endif /* ADC3_CONFIG */
  81. #endif /* BSP_USING_ADC3 */
  82. #ifdef __cplusplus
  83. }
  84. #endif
  85. #endif /* __ADC_CONFIG_H__ */