RTEMS 6.3
Loading...
Searching...
No Matches
acc.h File Reference
#include "chip.h"
#include <stdint.h>
#include <assert.h>

Go to the source code of this file.

Macros

#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)
#define ACC_StartConversion(pAcc)
#define ACC_SoftReset(pAcc)
#define ACC_EnableChannel(pAcc, dwChannel)
#define ACC_DisableChannel(pAcc, dwChannel)
#define ACC_EnableIt(pAcc, dwMode)
#define ACC_DisableIt(pAcc, dwMode)
#define ACC_EnableDataReadyIt(pAcc)
#define ACC_GetStatus(pAcc)
#define ACC_GetChannelStatus(pAcc)
#define ACC_GetInterruptMaskStatus(pAcc)
#define ACC_GetLastConvertedData(pAcc)
#define ACC_CfgAnalogCtrlReg(pAcc, dwMode)
#define ACC_CfgExtModeReg(pAcc, extmode)
#define ACC_GetAnalogCtrlReg(pAcc)

Functions

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.
void ACC_SetComparisonPair (Acc *pAcc, uint8_t ucSelplus, uint8_t ucSelminus)
uint32_t ACC_GetComparisonResult (Acc *pAcc, uint32_t dwStatus)

Detailed Description

Purpose

Interface for configuration the Analog-to-Digital Converter (ACC) peripheral.

Usage

  1. Configurate the pins for ACC
  2. Initialize the ACC with ACC_Initialize().
  3. Select the active channel using ACC_EnableChannel()
  4. Start the conversion with ACC_StartConversion()
  5. Wait the end of the conversion by polling status with ACC_GetStatus()
  6. Finally, get the converted data using ACC_GetConvertedData()

Macro Definition Documentation

◆ 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_EnableDataReadyIt

#define ACC_EnableDataReadyIt ( pAcc)
Value:
((pAcc)->ACC_IER = AT91C_ACC_DRDY)

◆ ACC_EnableIt

#define ACC_EnableIt ( pAcc,
dwMode )
Value:
{\
assert(((dwMode)&0xFFF00000)== 0);\
(pAcc)->ACC_IER = (dwMode);\
}

◆ ACC_GetAnalogCtrlReg

#define ACC_GetAnalogCtrlReg ( pAcc)
Value:
((pAcc)->ACC_ACR)

◆ ACC_GetChannelStatus

#define ACC_GetChannelStatus ( pAcc)
Value:
((pAcc)->ACC_CHSR)

◆ ACC_GetInterruptMaskStatus

#define ACC_GetInterruptMaskStatus ( pAcc)
Value:
((pAcc)->ACC_IMR)

◆ ACC_GetLastConvertedData

#define ACC_GetLastConvertedData ( pAcc)
Value:
((pAcc)->ACC_LCDR)

◆ ACC_GetModeReg

#define ACC_GetModeReg ( pAcc)
Value:
((pAcc)->ACC_MR)

◆ ACC_GetStatus

#define ACC_GetStatus ( pAcc)
Value:
((pAcc)->ACC_ISR)

◆ ACC_SoftReset

#define ACC_SoftReset ( pAcc)
Value:
((pAcc)->ACC_CR = ACC_CR_SWRST)

◆ ACC_StartConversion

#define ACC_StartConversion ( pAcc)
Value:
((pAcc)->ACC_CR = ACC_CR_START)

Function Documentation

◆ 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 )
extern

Initialize the ACC controller.

Parameters
pAccPointer to an Acc instance.
idAccACC identifier
ucSelplusinput connected to inp, 0~7
ucSelminusinput connected to inm,0~7
wAc_enAnalog comparator enabled/disabled
wEdgeCF flag triggering mode
wInvertINVert comparator output,use pattern defined in the device header file

◆ ACC_GetComparisonResult()

uint32_t ACC_GetComparisonResult ( Acc * pAcc,
uint32_t dwStatus )
extern

Return Comparison Result

Parameters
pAccPointer to an Acc instance.
dwStatusvalue of ACC_ISR

◆ ACC_SetComparisonPair()

void ACC_SetComparisonPair ( Acc * pAcc,
uint8_t ucSelplus,
uint8_t ucSelminus )
extern

Return the Channel Converted Data

Parameters
pAccPointer to an Acc instance.
ucSelplusinput applied on ACC SELPLUS
ucSelminusinput applied on ACC SELMINUS