52 lines
2.5 KiB
C
52 lines
2.5 KiB
C
|
#ifndef __AD1_H
|
|||
|
#define __AD1_H
|
|||
|
|
|||
|
#include "derivative.h"
|
|||
|
|
|||
|
#define CEASE_ERROR_MASK 0xF8U /* Constant for check the error flags register of the Error type if it holds the cease flags or not */
|
|||
|
#define ERR_FLG_CEASE_ERROR_MASK 0xF800U /* Constant for check the variable of the Error type if it holds the cease flags or not */
|
|||
|
#define ERR_FLG_MASK 0xFE40U /* Constant for check the variable of the Error type if it holds any error flags or not */
|
|||
|
|
|||
|
|
|||
|
#ifndef __BWUserType_AD1_TError
|
|||
|
#define __BWUserType_AD1_TError
|
|||
|
/*lint -save -esym(960,18.4) Disable MISRA rule (18.4) checking. */
|
|||
|
typedef union {
|
|||
|
word err;
|
|||
|
struct {
|
|||
|
/*lint -save -e46 Disable MISRA rule (6.4) checking. */
|
|||
|
word : 1; /* Reserved */
|
|||
|
word : 1; /* Reserved */
|
|||
|
word : 1; /* Reserved */
|
|||
|
word : 1; /* Reserved */
|
|||
|
word : 1; /* Reserved */
|
|||
|
word : 1; /* Reserved */
|
|||
|
word ConversionOverrun_Error : 1; /* Overrun of the ADCxCONIF register */
|
|||
|
word : 1; /* Reserved */
|
|||
|
word : 1; /* Reserved */
|
|||
|
word LDOK_Error : 1; /* Restart without Load OK */
|
|||
|
word Restart_Error : 1; /* Restart in the wrong time */
|
|||
|
word Trigger_Error : 1; /* Trigger in the wrong time or trigger overflow - Cease ADC operation. */
|
|||
|
word CompareValue_Error : 1; /* Compare value not available - Cease ADC operation. */
|
|||
|
word EOL_Error : 1; /* End of list command missing in the current CSL - Cease ADC operation. */
|
|||
|
word CommandValue_Error : 1; /* Invalid conversion command loaded - Cease ADC operation. */
|
|||
|
word IllegalAccess_Error : 1; /* Wrong DMA access to illegal memory area - Cease ADC operation. */
|
|||
|
/*lint -restore Enable MISRA rule (6.4) checking. */
|
|||
|
} errName;
|
|||
|
} AD1_TError; /* Error flags. For languages which don't support bit access is byte access only to error flags possible. */
|
|||
|
/*lint -restore +esym(960,18.4) Enable MISRA rule (18.4) checking. */
|
|||
|
#endif
|
|||
|
|
|||
|
|
|||
|
|
|||
|
extern word AD1_OutV[9];
|
|||
|
extern byte ADC_convert_over_flag;//ADת<44><D7AA><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־
|
|||
|
byte AD1_Start(void);
|
|||
|
byte AD1_GetValue(void* Values);
|
|||
|
byte AD1_GetValue16(word *Values);
|
|||
|
void AD1_Init(void);
|
|||
|
//Get AD average value
|
|||
|
word AD_Average_Calculate(word *AD_Array,byte Arrsize);
|
|||
|
|
|||
|
#endif
|