#include "chip.h"
#include <stdint.h>
#include <assert.h>
Go to the source code of this file.
|
#define | ACC_SELPLUS_AD12B0 0 |
|
#define | ACC_SELPLUS_AD12B1 1 |
|
#define | ACC_SELPLUS_AD12B2 2 |
|
#define | ACC_SELPLUS_AD12B3 3 |
|
#define | ACC_SELPLUS_AD12B4 4 |
|
#define | ACC_SELPLUS_AD12B5 5 |
|
#define | ACC_SELPLUS_AD12B6 6 |
|
#define | ACC_SELPLUS_AD12B7 7 |
|
#define | ACC_SELMINUS_TS 0 |
|
#define | ACC_SELMINUS_ADVREF 1 |
|
#define | ACC_SELMINUS_DAC0 2 |
|
#define | ACC_SELMINUS_DAC1 3 |
|
#define | ACC_SELMINUS_AD12B0 4 |
|
#define | ACC_SELMINUS_AD12B1 5 |
|
#define | ACC_SELMINUS_AD12B2 6 |
|
#define | ACC_SELMINUS_AD12B3 7 |
|
#define | ACC_CfgModeReg(pAcc, mode) |
|
#define | ACC_GetModeReg(pAcc) ((pAcc)->ACC_MR) |
|
#define | ACC_StartConversion(pAcc) ((pAcc)->ACC_CR = ACC_CR_START) |
|
#define | ACC_SoftReset(pAcc) ((pAcc)->ACC_CR = ACC_CR_SWRST) |
|
#define | ACC_EnableChannel(pAcc, dwChannel) |
|
#define | ACC_DisableChannel(pAcc, dwChannel) |
|
#define | ACC_EnableIt(pAcc, dwMode) |
|
#define | ACC_DisableIt(pAcc, dwMode) |
|
#define | ACC_EnableDataReadyIt(pAcc) ((pAcc)->ACC_IER = AT91C_ACC_DRDY) |
|
#define | ACC_GetStatus(pAcc) ((pAcc)->ACC_ISR) |
|
#define | ACC_GetChannelStatus(pAcc) ((pAcc)->ACC_CHSR) |
|
#define | ACC_GetInterruptMaskStatus(pAcc) ((pAcc)->ACC_IMR) |
|
#define | ACC_GetLastConvertedData(pAcc) ((pAcc)->ACC_LCDR) |
|
#define | ACC_CfgAnalogCtrlReg(pAcc, dwMode) |
|
#define | ACC_CfgExtModeReg(pAcc, extmode) |
|
#define | ACC_GetAnalogCtrlReg(pAcc) ((pAcc)->ACC_ACR) |
|
Purpose
Interface for configuration the Analog-to-Digital Converter (ACC) peripheral.
Usage
- Configurate the pins for ACC
- Initialize the ACC with ACC_Initialize().
- Select the active channel using ACC_EnableChannel()
- Start the conversion with ACC_StartConversion()
- Wait the end of the conversion by polling status with ACC_GetStatus()
- Finally, get the converted data using ACC_GetConvertedData()
◆ ACC_CfgAnalogCtrlReg
#define ACC_CfgAnalogCtrlReg |
( |
|
pAcc, |
|
|
|
dwMode |
|
) |
| |
Value:{\
assert(((dwMode) & 0xFFFCFF3C) == 0);\
(pAcc)->ACC_ACR = (dwMode);\
}
◆ ACC_CfgExtModeReg
#define ACC_CfgExtModeReg |
( |
|
pAcc, |
|
|
|
extmode |
|
) |
| |
Value:{\
assert(((extmode) & 0xFF00FFFE) == 0);\
(pAcc)->ACC_EMR = (extmode);\
}
◆ ACC_CfgModeReg
#define ACC_CfgModeReg |
( |
|
pAcc, |
|
|
|
mode |
|
) |
| |
Value:{ \
(pAcc)->ACC_MR = (mode);\
}
◆ ACC_DisableChannel
#define ACC_DisableChannel |
( |
|
pAcc, |
|
|
|
dwChannel |
|
) |
| |
Value:{\
assert(dwChannel < 16);\
(pAcc)->ACC_CHDR = (1 << (dwChannel));\
}
◆ ACC_DisableIt
#define ACC_DisableIt |
( |
|
pAcc, |
|
|
|
dwMode |
|
) |
| |
Value:{\
assert(((dwMode)&0xFFF00000)== 0);\
(pAcc)->ACC_IDR = (dwMode);\
}
◆ ACC_EnableChannel
#define ACC_EnableChannel |
( |
|
pAcc, |
|
|
|
dwChannel |
|
) |
| |
Value:{\
assert(dwChannel < 16);\
(pAcc)->ACC_CHER = (1 << (dwChannel));\
}
◆ ACC_EnableIt
#define ACC_EnableIt |
( |
|
pAcc, |
|
|
|
dwMode |
|
) |
| |
Value:{\
assert(((dwMode)&0xFFF00000)== 0);\
(pAcc)->ACC_IER = (dwMode);\
}
◆ ACC_Configure()
void ACC_Configure |
( |
Acc * |
pAcc, |
|
|
uint8_t |
idAcc, |
|
|
uint8_t |
ucSelplus, |
|
|
uint8_t |
ucSelminus, |
|
|
uint16_t |
wAc_en, |
|
|
uint16_t |
wEdge, |
|
|
uint16_t |
wInvert |
|
) |
| |
Initialize the ACC controller.
- Parameters
-
pAcc | Pointer to an Acc instance. |
idAcc | ACC identifier |
ucSelplus | input connected to inp, 0~7 |
ucSelminus | input connected to inm,0~7 |
wAc_en | Analog comparator enabled/disabled |
wEdge | CF flag triggering mode |
wInvert | INVert comparator output,use pattern defined in the device header file |
◆ ACC_GetComparisonResult()
uint32_t ACC_GetComparisonResult |
( |
Acc * |
pAcc, |
|
|
uint32_t |
dwStatus |
|
) |
| |
Return Comparison Result
- Parameters
-
pAcc | Pointer to an Acc instance. |
dwStatus | value of ACC_ISR |
◆ ACC_SetComparisonPair()
void ACC_SetComparisonPair |
( |
Acc * |
pAcc, |
|
|
uint8_t |
ucSelplus, |
|
|
uint8_t |
ucSelminus |
|
) |
| |
Return the Channel Converted Data
- Parameters
-
pAcc | Pointer to an Acc instance. |
ucSelplus | input applied on ACC SELPLUS |
ucSelminus | input applied on ACC SELMINUS |