adc.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #ifndef __ADC_AS_H
  2. #define __ADC_AS_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. /* 包含头文件-----------------------------------------------------------------*/
  7. #include "stm32f10x.h"
  8. /* 宏定义---------------------------------------------------------------------*/
  9. #define ADC_VREF (3300) /* 正参考电压mv */
  10. #define ADC_ACCURACY ((1ul << 12u) - 1) /* 分辨率 */
  11. #define ADC_CAL_MV(val) ((val) * ADC_VREF / ADC_ACCURACY) /* ADC结果计算为mv */
  12. /* adc_input_chx */
  13. #define ADC_IN0 (0u) /* PA0 */
  14. #define ADC_IN1 (1u) /* PA1 */
  15. #define ADC_IN2 (2u) /* PA2 */
  16. #define ADC_IN3 (3u) /* PA3 */
  17. #define ADC_IN4 (4u) /* PA4 */
  18. #define ADC_IN5 (5u) /* PA5 */
  19. #define ADC_IN6 (6u) /* PA6 */
  20. #define ADC_IN7 (7u) /* PA7 */
  21. #define ADC_IN8 (8u) /* PB0 */
  22. #define ADC_IN9 (9u) /* PB1 */
  23. /* 类型定义-------------------------------------------------------------------*/
  24. /* 全局变量-------------------------------------------------------------------*/
  25. /* 函数原型-------------------------------------------------------------------*/
  26. void adc1_config(void);
  27. void adc2_config(void);
  28. uint16_t adc1_get_conv_val(uint8_t chx);
  29. uint16_t adc2_get_conv_val(uint8_t chx);
  30. uint16_t adc1_get_average_val(uint8_t chx, uint16_t num);
  31. uint16_t adc2_get_average_val(uint8_t chx, uint16_t num);
  32. #ifdef __cplusplus
  33. }
  34. #endif
  35. #endif /* adc.h */