1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- /******************************************************************//**
- * @file drv_acmp.h
- * @brief ACMP (analog comparator) driver of RT-Thread RTOS for EFM32
- * COPYRIGHT (C) 2011, RT-Thread Development Team
- * @author onelife
- * @version 0.4 beta
- **********************************************************************
- * @section License
- * The license and distribution terms for this file may be found in the file LICENSE in this
- * distribution or at http://www.rt-thread.org/license/LICENSE
- **********************************************************************
- * @section Change Logs
- * Date Author Notes
- * 2011-02-23 onelife Initial creation for EFM32
- *********************************************************************/
- #ifndef __DRV_ACMP_H__
- #define __DRV_ACMP_H__
- /* Includes -------------------------------------------------------------------*/
- #include "hdl_interrupt.h"
- /* Exported types -------------------------------------------------------------*/
- struct efm32_acmp_device_t
- {
- ACMP_TypeDef *acmp_device;
- efm32_irq_hook_t hook;
- };
- struct efm32_acmp_output_t
- {
- rt_uint32_t location;
- rt_bool_t enable;
- rt_bool_t invert;
- };
- struct efm32_acmp_control_t
- {
- ACMP_Init_TypeDef *init;
- ACMP_Channel_TypeDef posInput;
- ACMP_Channel_TypeDef negInput;
- struct efm32_acmp_output_t *output;
- efm32_irq_hook_t hook;
- };
- /* Exported constants ---------------------------------------------------------*/
- /* Exported macro -------------------------------------------------------------*/
- /** Default config for ACMP init structure. */
- #define ACMP_INIT_DEFAULT \
- { \
- false, /* Full bias current*/ \
- true, /* Half bias current */ \
- 0, /* Biasprog current configuration */ \
- true, /* Enable interrupt for falling edge */ \
- true, /* Enable interrupt for rising edge */ \
- acmpWarmTime512, /* Warm-up time must be >10us */ \
- acmpHysteresisLevel0, /* Hysteresis configuration */ \
- 0, /* Inactive comparator output value */ \
- false, /* Disable low power mode */ \
- 0 /* Vdd reference scaling */ \
- }
- /* Exported functions --------------------------------------------------------- */
- void rt_hw_acmp_init(void);
- #endif /*__DRV_ACMP_H__ */
|