summaryrefslogtreecommitdiffstats
path: root/uc_str912/prj_template91x/str91x_lib/include/91x_adc.h
diff options
context:
space:
mode:
Diffstat (limited to 'uc_str912/prj_template91x/str91x_lib/include/91x_adc.h')
-rw-r--r--uc_str912/prj_template91x/str91x_lib/include/91x_adc.h124
1 files changed, 124 insertions, 0 deletions
diff --git a/uc_str912/prj_template91x/str91x_lib/include/91x_adc.h b/uc_str912/prj_template91x/str91x_lib/include/91x_adc.h
new file mode 100644
index 0000000..25a396d
--- /dev/null
+++ b/uc_str912/prj_template91x/str91x_lib/include/91x_adc.h
@@ -0,0 +1,124 @@
+/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
+* File Name : 91x_adc.h
+* Author : MCD Application Team
+* Date First Issued : 05/18/2006 : Version 1.0
+* Description : This file contains all the functions prototypes for the
+* ADC software library.
+********************************************************************************
+* History:
+* 05/24/2006 : Version 1.1
+* 05/18/2006 : Version 1.0
+********************************************************************************
+* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
+* CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS
+* A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
+* OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
+* OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
+* CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+*******************************************************************************/
+
+
+/* Define to prevent recursive inclusion ------------------------------------ */
+
+#ifndef __91x_ADC_H
+#define __91x_ADC_H
+
+/* Includes ------------------------------------------------------------------*/
+
+#include "91x_map.h"
+
+/* Exported types ------------------------------------------------------------*/
+
+/* ADC Init structure define */
+typedef struct
+{
+ u16 ADC_WDG_High_Threshold;
+ u16 ADC_WDG_Low_Threshold;
+ u16 ADC_Channel_0_Mode;
+ u16 ADC_Channel_1_Mode;
+ u16 ADC_Channel_2_Mode;
+ u16 ADC_Channel_3_Mode;
+ u16 ADC_Channel_4_Mode;
+ u16 ADC_Channel_5_Mode;
+ u16 ADC_Channel_6_Mode;
+ u16 ADC_Channel_7_Mode;
+ u16 ADC_Select_Channel;
+ FunctionalState ADC_Scan_Mode;
+ u16 ADC_Conversion_Mode;
+}ADC_InitTypeDef;
+
+/* ADC watchdog thresholds */
+typedef enum
+{
+ ADC_HighThreshold,
+ ADC_LowThreshold
+}ADC_ThresholdType;
+
+/* Exported constants --------------------------------------------------------*/
+
+/* ADC channels */
+#define ADC_Channel_0 0x00 /* Channel 0 */
+#define ADC_Channel_1 0x01 /* Channel 1 */
+#define ADC_Channel_2 0x02 /* Channel 2 */
+#define ADC_Channel_3 0x03 /* Channel 3 */
+#define ADC_Channel_4 0x04 /* Channel 4 */
+#define ADC_Channel_5 0x05 /* Channel 5 */
+#define ADC_Channel_6 0x06 /* Channel 6 */
+#define ADC_Channel_7 0x07 /* Channel 7 */
+
+/* ADC modes */
+#define ADC_Continuous_Mode 0x0010 /* Continuous mode conversion */
+#define ADC_Single_Mode 0xFFEF /* Single mode conversion */
+
+/* ADC Flags */
+#define ADC_FLAG_ECV 0x002F /* End of Conversion Flag */
+#define ADC_FLAG_AWD 0x002E /* Analog WatchDog Flag */
+
+#define ADC_FLAG_OV_CH_0 0x00CF /* Overflow Flag for channel 0 */
+#define ADC_FLAG_OV_CH_1 0x00EF /* Overflow Flag for channel 1 */
+#define ADC_FLAG_OV_CH_2 0x010F /* Overflow Flag for channel 2 */
+#define ADC_FLAG_OV_CH_3 0x012F /* Overflow Flag for channel 3 */
+#define ADC_FLAG_OV_CH_4 0x014F /* Overflow Flag for channel 4 */
+#define ADC_FLAG_OV_CH_5 0x016F /* Overflow Flag for channel 5 */
+#define ADC_FLAG_OV_CH_6 0x018F /* Overflow Flag for channel 6 */
+#define ADC_FLAG_OV_CH_7 0x01AF /* Overflow Flag for channel 7 */
+
+/* ADC conversion modes */
+#define ADC_NoThreshold_Conversion 0x0003 /* Conversion w/o thresholds */
+#define ADC_LowThreshold_Conversion 0x0002 /* Low threshold conversion */
+#define ADC_HighThreshold_Conversion 0x0001 /* High threshold conversion */
+#define ADC_No_Conversion 0x0000 /* No ADC conversion */
+
+/* ADC interrupts */
+#define ADC_IT_ECV 0x0400 /* End of Conversion Interrupt */
+#define ADC_IT_AWD 0x0200 /* Analog Watchdog Interrupt */
+
+/* ADC Start/Stop conversion */
+#define ADC_Conversion_Start 0x0001 /* ADC start conversion */
+#define ADC_Conversion_Stop 0xFFFE /* ADC stop conversion */
+
+/* Module private variables --------------------------------------------------*/
+/* Exported macro ------------------------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+/* Exported functions ------------------------------------------------------- */
+
+void ADC_DeInit(void);
+void ADC_Init(ADC_InitTypeDef* ADC_InitStruct);
+void ADC_StructInit(ADC_InitTypeDef* ADC_InitStruct);
+void ADC_PrescalerConfig(u8 ADC_Prescaler);
+u8 ADC_GetPrescalerValue(void);
+FlagStatus ADC_GetFlagStatus(u16 ADC_Flag);
+void ADC_ClearFlag(u16 ADC_Flag);
+u16 ADC_GetConversionValue(u16 ADC_Channel);
+FlagStatus ADC_GetAnalogWatchdogResult(u16 ADC_Channel);
+void ADC_ClearAnalogWatchdogResult(u16 ADC_Channel);
+u16 ADC_GetWatchdogThreshold(ADC_ThresholdType ADC_Threshold);
+void ADC_ITConfig(u16 ADC_IT, FunctionalState ADC_NewState);
+void ADC_StandbyModeCmd(FunctionalState ADC_NewState);
+void ADC_Cmd(FunctionalState ADC_NewState);
+void ADC_ConversionCmd(u16 ADC_Conversion);
+
+#endif /* __91x_ADC_H */
+
+/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
+
OpenPOWER on IntegriCloud