Вы находитесь на странице: 1из 43

Convertidor analógico a digital (ADC)

Introducción
El convertidor analógico a digital API (ADC) ofrece un conjunto de funciones para la
programación y el funcionamiento del ADC. Se proporcionan funciones para configurar
los secuenciadores de ejemplo, leer los datos capturados, registrar un manejador de
interrupciones secuencia de muestras, y manejar interrumpir el enmascaramiento /
compensación.
Dependiendo de las características del microcontrolador individual, el ADC soporta
hasta veinticuatro canales de entrada, además de un sensor de temperatura interno.
Cuatro secuenciadores de muestreo, cada uno con eventos de activación configurables,
se pueden capturar. El primer secuenciador captura hasta ocho muestras, el segundo y
tercer secuenciadores capturar hasta cuatro muestras, y el cuarto secuenciador capta una
sola muestra. Cada muestra puede ser el mismo canal, canales diferentes, o cualquier
combinación, en cualquier orden.
Los secuenciadores de muestra tienen prioridades configurables que determinan el
orden en el que se capturan cuando varios disparos ocurren simultáneamente. El
secuenciador de prioridad más alta que se desencadena Actualmente se muestrea
primero. Se debe tener cuidado con los desencadenantes que se producen con frecuencia
(como el gatillo "siempre"); Si su prioridad es demasiado alto, es posible matar de
hambre a los secuenciadores de menor prioridad.
sobre muestreo de hardware de los datos de ADC está disponible para una mayor
precisión. Un factor de sobre muestreo de 2x, 4x, 8x, 16x, 32x, 64x o es compatible,
pero reduce el rendimiento del ADC por un factor correspondiente. sobre muestreo de
hardware se aplica de manera uniforme en todos los secuenciadores de muestra.
sobre muestreo Software de los datos de ADC también está disponible (incluso cuando
sobre muestreo hardware está disponible). Un factor de sobre muestreo de 2x, 4x, 8x o
es compatible, pero reduce la profundidad de los secuenciadores de muestra en una
cantidad correspondiente. Por ejemplo, la primera muestra de secuenciador captura ocho
muestras; en el modo de sobre muestreo 4x, sólo puede capturar dos muestras porque
los primeros cuatro muestras se utilizan para el primer valor de sobre muestreo y el
segundo cuatro muestras se utilizan para el segundo valor de sobre muestreo. La
cantidad de sobre muestreo software está configurado sobre una base secuenciador por
muestra.
A sobre muestreo software más sofisticado se puede utilizar para eliminar la reducción
de la profundidad de la muestra de secuenciador. Al aumentar la probabilidad del ADC
por 4x (por ejemplo) y un promedio de cuatro disparadores valor de los datos, de sobre
muestreo 4x se consigue sin ninguna pérdida de capacidad de muestra de secuenciador.
En este caso, un aumento en el número de desencadenantes de ADC (y
presumiblemente las interrupciones de ADC) es la consecuencia.
Debido a que este método requiere ajustes fuera del controlador de ADC en sí, no se
apoya directamente por el conductor (aunque nada impide que en el controlador de ella).
Las API de sobre muestreo software no se deben utilizar en este caso.
Este controlador está contenida en driverlib / adc.c, con driverlib / adc.h que contiene
las declaraciones de API para el uso de las aplicaciones.

Funciones del API


funciones

bool ADCBusy (uint32_t ui32Base)


uint32_t ADCClockConfigGet (uint32_t ui32Base, uint32_t * pui32ClockDiv)
ADCClockConfigSet vacío (uint32_t ui32Base, uint32_t ui32Config, uint32_t
ui32ClockDiv)
ADCComparatorConfigure vacío (uint32_t ui32Base, uint32_t ui32Comp, uint32_t
ui32Config)
ADCComparatorIntClear anular (uint32_t ui32Base, uint32_t ui32Status)
ADCComparatorIntDisable anular (uint32_t ui32Base, uint32_t ui32SequenceNum)
ADCComparatorIntEnable anular (uint32_t ui32Base, uint32_t ui32SequenceNum)
uint32_t ADCComparatorIntStatus (uint32_t ui32Base)
ADCComparatorRegionSet anular (uint32_t ui32Base, uint32_t ui32Comp, uint32_t
ui32LowRef,
uint32_t ui32HighRef)
ADCComparatorReset vacío (uint32_t ui32Base, uint32_t ui32Comp, bool bTrigger,
bool bInterrupt)
ADCHardwareOversampleConfigure vacío (uint32_t ui32Base, uint32_t ui32Factor)
ADCIntClear anular (uint32_t ui32Base, uint32_t ui32SequenceNum)
ADCIntClearEx anular (uint32_t ui32Base, uint32_t ui32IntFlags)
ADCIntDisable anular (uint32_t ui32Base, uint32_t ui32SequenceNum)
ADCIntDisableEx anular (uint32_t ui32Base, uint32_t ui32IntFlags)
ADCIntEnable anular (uint32_t ui32Base, uint32_t ui32SequenceNum)
ADCIntEnableEx anular (uint32_t ui32Base, uint32_t ui32IntFlags)
ADCIntRegister vacío (uint32_t ui32Base, uint32_t ui32SequenceNum, nula
(* PfnHandler) (void))
uint32_t ADCIntStatus (uint32_t ui32Base, uint32_t ui32SequenceNum, bool bMasked)
uint32_t ADCIntStatusEx (uint32_t ui32Base, bool bMasked)
ADCIntUnregister vacío (uint32_t ui32Base, uint32_t ui32SequenceNum)
uint32_t ADCPhaseDelayGet (uint32_t ui32Base)
ADCPhaseDelaySet vacío (uint32_t ui32Base, uint32_t ui32Phase)
ADCProcessorTrigger vacío (uint32_t ui32Base, uint32_t ui32SequenceNum)
uint32_t ADCReferenceGet (uint32_t ui32Base)
ADCReferenceSet vacío (uint32_t ui32Base, uint32_t ui32Ref)
ADCSequenceConfigure vacío (uint32_t ui32Base, uint32_t ui32SequenceNum,
uint32_t
ui32Trigger, uint32_t ui32Priority)
int32_t ADCSequenceDataGet (uint32_t ui32Base, uint32_t ui32SequenceNum,
uint32_t * Pui32Buffer)
ADCSequenceDisable anular (uint32_t ui32Base, uint32_t ui32SequenceNum)
ADCSequenceDMADisable anular (uint32_t ui32Base, uint32_t ui32SequenceNum)
ADCSequenceDMAEnable anular (uint32_t ui32Base, uint32_t ui32SequenceNum)
ADCSequenceEnable anular (uint32_t ui32Base, uint32_t ui32SequenceNum)
int32_t ADCSequenceOverflow (uint32_t ui32Base, uint32_t ui32SequenceNum)
ADCSequenceOverflowClear anular (uint32_t ui32Base, uint32_t ui32SequenceNum)
ADCSequenceStepConfigure vacío (uint32_t ui32Base, uint32_t ui32SequenceNum,
uint32_t
ui32Step, uint32_t ui32Config)
int32_t ADCSequenceUnderflow (uint32_t ui32Base, uint32_t ui32SequenceNum)
22 25 de julio de, el año 2016
Convertidor analógico a digital (ADC)
ADCSequenceUnderflowClear anular (uint32_t ui32Base, uint32_t ui32SequenceNum)
ADCSoftwareOversampleConfigure vacío (uint32_t ui32Base, uint32_t
ui32SequenceNum,
uint32_t ui32Factor)
ADCSoftwareOversampleDataGet anular (uint32_t ui32Base, uint32_t
ui32SequenceNum,
uint32_t * pui32Buffer, uint32_t ui32Count)
ADCSoftwareOversampleStepConfigure vacío (uint32_t ui32Base, uint32_t
ui32SequenceNum, uint32_t ui32Step, uint32_t ui32Config)

Descripción detallada
El analógico a digital de API convertidor está dividida en tres grupos de funciones: las
que se ocupan de la secuenciadores de ejemplo, los que se ocupan del gatillo
procesador, y aquellos que se ocupan de interrupción manejo.
Los secuenciadores de muestra se configuran con ADCSequenceConfigure () y
ADCSequenceStepConfigure (). Están activadas y desactivadas con
ADCSequenceEnable () y ADCSequenceDisable (). se obtienen los datos capturados
con ADCSequenceDataGet (). FIFO secuenciador de muestra extracto y refinado se
gestiona con ADCSequenceOverflow (), ADCSequenceOverflowClear (),
ADCSequenceUnderflow (), y ADCSequenceUnderflowClear (). sobre muestreo de
hardware de la ADC se controla con ADCHardwareOversampleConfigure ().
sobremuestreo Software del ADC se controla con ADCSoftwareOversampleConfigure
(), ADCSoftwareOversampleStepConfigure (), y ADCSoftwareOversampleDataGet ().
El gatillo procesador se genera con ADCProcessorTrigger ().
El manejador de interrupciones para las interrupciones ADC muestra del secuenciador
son administradas con ADCIntRegister ()
y ADCIntUnregister (). Las fuentes de la muestra secuenciador de interrupción se
gestionan con ADCIntDisable (), ADCIntEnable (), ADCIntStatus (), y ADCIntClear ()

Documentación de las funciones

ADCBusy
Determina si el ADC está ocupado o no.

Prototipo:
bool

ADCBusy (uint32_t ui32Base)


parámetros:
ui32Base es la dirección base de la ADC.

Descripción:
Esta función permite a la persona que llama para determinar si es o no el ADC está
muestreando la actualidad. Si se devuelve false, entonces el ADC no es el muestreo de
datos.

Utilice esta función para detectar que el ADC está terminado datos de muestreo antes de
poner el dispositivo en un sueño profundo. Antes de utilizar esta función, es muy
recomendable que el disparador de eventos se cambia a ADC_TRIGGER_NEVER en
todos los secuenciadores habilitados para evitar que el ADC se inicie después de
comprobar el estado de ocupado.

Devoluciones:
Devuelve true si el ADC es el muestreo o falsa si todas las muestras se han completado.

ADCClockConfigGet
Devuelve la configuración de reloj para el ADC.

Prototipo:
uint32_t

ADCClockConfigGet (uint32_t ui32Base, uint32_t * pui32ClockDiv)

parámetros:
ui32Base es la dirección base de la ADC para configurar, que siempre deben ser
ADC0_BASE. pui32ClockDiv es un puntero al divisor de reloj de entrada para el reloj
seleccionado por el ADC_CLOCK_SRC en uso por los ADCs.

Descripción:
Esta función devuelve la configuración de reloj ADC y el divisor de reloj para los ADC.
Ejemplo: Leer la configuración actual del reloj del ADC.

uint32_t ui32Config, ui32ClockDiv;


//
// Leer la configuración actual del reloj del ADC.
//
ui32Config = ADCClockConfigGet (ADC0_BASE, y ui32ClockDiv);

Devoluciones:
La configuración actual del reloj del ADC se define como una combinación de uno de
ADC_CLOCK_SRC_PLL, ADC_CLOCK_SRC_PIOSC,
ADC_CLOCK_SRC_MOSC, o ADC_CLOCK_SRC_ALTCLK un OR lógico con uno
de ADC_CLOCK_RATE_FULL, ADC_CLOCK_RATE_HALF,
ADC_CLOCK_RATE_QUARTER, o ADC_CLOCK_RATE_EIGHTH. Ver
ADCClockConfigSet () para obtener más información sobre estos valores.

ADCClockConfigSet

Establece la configuración de reloj para el ADC.

Prototipo:
vacío

ADCClockConfigSet (uint32_t ui32Base, uint32_t ui32Config, uint32_t


ui32ClockDiv)

parámetros:
ui32Base es la dirección base de la ADC para configurar, que siempre deben ser
ADC0_BASE.
ui32Config es una combinación de la ADC_CLOCK_SRC_ y ADC_CLOCK_RATE_ *
Los valores utilizados para configurar la entrada de reloj ADC.

ui32ClockDiv es el divisor de reloj de entrada para el reloj seleccionado por el valor


ADC_CLOCK_SRC.

Descripción:
Esta función se utiliza para configurar el reloj de entrada a los módulos ADC. La
configuración del reloj se comparte a través de unidades de ADC por lo ui32Base debe
estar siempre ADC0_BASE. El valor ui32Config es OR lógico de uno de los
ADC_CLOCK_RATE_ y uno de los valores ADC_CLOCK_SRC_ se definen a
continuación. Los valores ADC_CLOCK_SRC_ * determinan el reloj de entrada para el
ADC. No todos los valores están disponibles en todos los dispositivos a fin de
comprobar la hoja de datos del dispositivo para determinar las opciones de
configuración de valor. Independientemente de la fuente, la frecuencia final para
dispositivos TM4C123x debe ser 16 MHz y de piezas TM4C129x después de dividir
debe estar entre 16 y 32 MHz.

Nota:
Para los dispositivos TM4C123x, si está habilitado el PLL, el PLL / 25 se utiliza cuando
el reloj del ADC menos que se especifique ADC_CLOCK_SRC_PIOSC. Si el PLL está
desactivada, el MOSC se utiliza como la fuente de reloj menos que se especifique
ADC_CLOCK_SRC_PIOSC.
ADC_CLOCK_SRC_PLL - La salida principal PLL (clase TM4x129 solamente).
ADC_CLOCK_SRC_PIOSC - El PIOSC interna a 16 MHz.
ADC_CLOCK_SRC_ALTCLK - La salida de la ALTCLK en el módulo de control del
sistema (sólo clase TM4x129).
ADC_CLOCK_SRC_MOSC - El MOSC externa (clase TM4x129 solamente).
ADC_CLOCK_RATE valores controlan la frecuencia muestras se proporcionan a la
aplicación. Los valores son los siguientes:
ADC_CLOCK_RATE_FULL - Todas las muestras.
ADC_CLOCK_RATE_HALF - Cada otra muestra.
ADC_CLOCK_RATE_QUARTER - Uno de cada cuatro muestras.
ADC_CLOCK_RATE_EIGHTH - Cada ninguna de las muestras.
El parámetro ui32ClockDiv permite dividir una frecuencia más alta hacia abajo en el
rango válido para los ADC. Este parámetro es típicamente única opción
ADC_CLOCK_SRC_PLL utiliza porque es el único valor de reloj que puede ser con el
en el rango correcto para utilizar el divisor. El valor real varía de 1 a 64 años.

Ejemplo: ADC reloj Configuraciones


//
// Configurar el ADC para utilizar PIOSC dividido por uno (16 MHz) y muestra a
// Mitad de la tasa.
//
ADCClockConfigSet (ADC0_BASE, ADC_CLOCK_SRC_PIOSC |
ADC_CLOCK_RATE_HALF, 1);
...
//
// Configurar el ADC para utilizar PLL a 480 MHz dividido por 24 para obtener un
ADC
// Reloj de 20 MHz.
//
ADCClockConfigSet (ADC0_BASE, ADC_CLOCK_SRC_PLL |
ADC_CLOCK_RATE_FULL, 24);

Devoluciones:
Ninguna.

ADCComparatorConfigure
Configura un comparador digital ADC.

Prototipo:
vacío

ADCComparatorConfigure (uint32_t ui32Base, uint32_t ui32Comp, uint32_t ui32Config)


parámetros:
ui32Base es la dirección base del módulo ADC.
ui32Comp es el índice del comparador configurar.
ui32Config es la configuración del comparador.

Descripción:
Esta función configura un comparador. El parámetro ui32Config es el resultado de una
operación lógica OR entre los valores ADC_COMP_INT_xxx
ADC_COMP_TRIG_xxx, y.

El término ADC_COMP_TRIG_xxx puede tomar los siguientes valores:


ADC_COMP_TRIG_NONE que nunca se desencadenan condición de fallo PWM.
ADC_COMP_TRIG_LOW_ALWAYS para desencadenar la condición de fallo siempre
PWM cuando la salida del ADC está en la banda baja.
ADC_COMP_TRIG_LOW_ONCE para desencadenar condición de fallo PWM una vez
cuando las transiciones de salida del ADC en la banda baja.
ADC_COMP_TRIG_LOW_HALWAYS para activar siempre condición de fallo PWM
cuando ADC salida está en la banda baja sólo si salida del ADC ha estado en la banda
alta desde la última salida del disparador.
ADC_COMP_TRIG_LOW_HONCE para desencadenar condición de fallo PWM una
vez cuando las transiciones de salida de ADC en banda baja sólo si salida del ADC ha
estado en la banda alta desde la última salida de disparo.
ADC_COMP_TRIG_MID_ALWAYS para desencadenar la condición de fallo siempre
PWM cuando la salida del ADC se encuentra en la banda media.
ADC_COMP_TRIG_MID_ONCE para desencadenar condición de fallo PWM una vez
cuando las transiciones de salida del ADC en la banda media.
ADC_COMP_TRIG_HIGH_ALWAYS para desencadenar la condición de fallo
siempre PWM cuando la salida del ADC está en la banda alta.
ADC_COMP_TRIG_HIGH_ONCE para desencadenar condición de fallo PWM una
vez cuando las transiciones de salida del ADC en la banda alta.
ADC_COMP_TRIG_HIGH_HALWAYS para desencadenar la condición de fallo
siempre PWM cuando la salida del ADC está en la banda alta sólo si salida del ADC ha
estado en la banda baja desde la última salida de disparo.
ADC_COMP_TRIG_HIGH_HONCE para desencadenar condición de fallo PWM una
vez cuando las transiciones de salida de ADC en banda alta sólo si salida del ADC ha
estado en la banda baja desde la última salida de disparo.
El término ADC_COMP_INT_xxx puede tomar los siguientes valores:
ADC_COMP_INT_NONE nunca generar interrupción ADC.
ADC_COMP_INT_LOW_ALWAYS para generar siempre de interrupción ADC
cuando la salida de ADC es en la banda baja.
ADC_COMP_INT_LOW_ONCE para generar ADC interrumpir una vez cuando las
transiciones de salida del ADC en la banda baja.
ADC_COMP_INT_LOW_HALWAYS para generar siempre interrupción ADC ADC
cuando la salida está en la banda baja sólo si salida del ADC ha estado en la banda alta
desde la última salida de disparo.
ADC_COMP_INT_LOW_HONCE para generar ADC interrumpir una vez cuando las
transiciones de salida de ADC en banda baja sólo si salida del ADC ha estado en la
banda alta desde la última salida de disparo.
ADC_COMP_INT_MID_ALWAYS para generar siempre interrupción ADC ADC
cuando la salida está en la banda media.
ADC_COMP_INT_MID_ONCE para generar ADC interrumpir una vez cuando las
transiciones de salida del ADC en la banda media.
ADC_COMP_INT_HIGH_ALWAYS para generar siempre interrupción ADC ADC
cuando la salida está en la banda alta.
ADC_COMP_INT_HIGH_ONCE para generar ADC interrumpir una vez cuando las
transiciones de salida del ADC en la banda alta.
ADC_COMP_INT_HIGH_HALWAYS para generar siempre interrupción ADC ADC
cuando la salida está en la banda alta sólo si salida del ADC ha estado en la banda baja
desde la última salida de disparo.

ADC_COMP_INT_HIGH_HONCE para generar ADC interrumpir una vez cuando las


transiciones de salida de ADC en banda alta sólo si salida del ADC ha estado en la
banda baja desde la última salida de disparo.
Devoluciones:
Ninguna.

ADCComparatorIntClear

Borra secuencia de muestras de origen comparador de interrupción.


Prototipo:
vacío

ADCComparatorIntClear (uint32_t ui32Base, uint32_t ui32Status)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32Status es el estado interrupciones de mapa de bits para borrar.

Descripción:
El estado de interrupción especificada se borra.

Devoluciones:
Ninguna.

ADCComparatorIntDisable

Desactiva una interrupción de muestreo de la secuencia de comparación.

Prototipo:
vacío

ADCComparatorIntDisable (uint32_t ui32Base, uint32_t ui32SequenceNum)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.
Descripción:
Esta función desactiva la muestra de interrupción secuencia comparador solicitada.

Devoluciones:
Ninguna.

ADCComparatorIntEnable
Permite a una interrupción de muestreo de la secuencia de comparación.

Prototipo:
vacío

ADCComparatorIntEnable (uint32_t ui32Base, uint32_t ui32SequenceNum)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.

Descripción:
Esta función permite a la muestra de interrupción secuencia comparador solicitado.

Devoluciones:
Ninguna.

ADCComparatorIntStatus

Obtiene el estado comparador de interrupción de corriente.


Prototipo:
uint32_t

ADCComparatorIntStatus (uint32_t ui32Base)

parámetros:
ui32Base es la dirección base del módulo ADC.

Descripción:
Esta función devuelve los bits de estado de interrupción comparador digitales. Este
estado es la secuencia agnóstico.

Devoluciones:
El estado comparador de interrupción de corriente.

ADCComparatorRegionSet
Define las regiones comparador digital ADC.

Prototipo:
vacío

ADCComparatorRegionSet (uint32_t ui32Base, uint32_t ui32Comp, uint32_t


ui32LowRef, uint32_t ui32HighRef)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32Comp es el índice del comparador configurar.
ui32LowRef es el punto de referencia para el umbral de baja / media banda.
ui32HighRef es el punto de referencia para el medio / alto umbral de banda.
Descripción:
La operación comparador digital ADC se basa en tres regiones de valor ADC:
De banda baja se define como cualquier valor ADC menor que o igual al valor
ui32LowRef.
de banda media se define como cualquier valor ADC mayor que el valor ui32LowRef
pero inferior o igual al valor ui32HighRef. de banda alta se define como cualquier valor
ADC mayor que el valor ui32HighRef.

Devoluciones:
Ninguna.

ADCComparatorReset
Restablece las condiciones actuales del comparador digital ADC.

Prototipo:
vacío

ADCComparatorReset (uint32_t ui32Base, uint32_t ui32Comp, bool bTrigger,


bool bInterrupt)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32Comp es el índice del comparador.
bTrigger es la bandera para indicar el restablecimiento de las condiciones de disparo.
bInterrupt es la bandera para indicar el restablecimiento de las condiciones de
interrupción.

Descripción:
Debido a que el comparador digital utiliza los valores de ADC actuales y anteriores,
esta función permite que el comparador se restablecerá a su valor inicial para evitar que
los datos obsoletos de ser utilizado cuando se activa una secuencia.
Devoluciones:
Ninguna.

ADCHardwareOversampleConfigure
Configura el factor de sobremuestreo de hardware de la ADC.

Prototipo:
vacío

ADCHardwareOversampleConfigure (uint32_t ui32Base, uint32_t ui32Factor)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32Factor es el número de muestras que se promedió.

Descripción:
Esta función configura el hardware sobremuestreo para la ADC, que puede ser utilizado
para proporcionar una mejor resolución de los datos muestreados. Sobremuestreo se
logra haciendo un promedio de varias muestras de la misma entrada analógica. Seis
tasas de sobremuestreo diferentes son compatibles; 2x, 4x, 8x, 16x, 32x, 64x y. La
especificación de un factor de sobremuestreo de cero desactiva sobremuestreo de
hardware.

sobremuestreo Hardware aplica uniformemente a todos los secuenciadores de muestra.


No reduce la profundidad de los secuenciadores de muestra como las API de
sobremuestreo de software; cada muestra escrito en el secuenciador muestra FIFO es
una entrada analógica completamente sobremuestreo de lectura.

Habilitación de promedio hardware aumenta la precisión de la ADC a costa de


rendimiento. Por ejemplo, lo que permite el sobremuestreo 4x reduce el rendimiento de
un 250 k muestras / segundo ADC a 62,5 k muestras / segundo.
Devoluciones:
Ninguna.

ADCIntClear
Borra fuente de secuencia de interrupción de muestreo.

Prototipo:
vacío

ADCIntClear (uint32_t ui32Base, uint32_t ui32SequenceNum)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.

Descripción:
La muestra de interrupción secuencia especificada está desactivada, de modo que ya no
afirma. Esta función debe ser llamada en el controlador de interrupciones para mantener
la interrupción se dispare de nuevo inmediatamente después de la salida.

Nota:
Debido a que hay un buffer de escritura en el procesador Cortex-M, es posible que
pasen varios ciclos de reloj antes de que la fuente de interrupción es en realidad se
aclaró. Por lo tanto, se recomienda que la fuente de interrupción se borrará temprano en
el controlador de interrupción (a diferencia de la última acción) para evitar volver desde
el controlador de interrupción antes de que la fuente de interrupción es en realidad
borra. El no hacerlo puede resultar en el controlador de interrupción se volvió a entrar
inmediatamente (debido a que el controlador de interrupciones sigue considerando que
la fuente de interrupción afirmó).

Devoluciones:
Ninguna.
ADCIntClearEx
Borra las fuentes de interrupción ADC especificados.

Prototipo:
vacío

ADCIntClearEx (uint32_t ui32Base, uint32_t ui32IntFlags)

parámetros:
ui32Base es la dirección base del puerto ADC.
ui32IntFlags es la máscara de bits de las fuentes de interrupción desactivar.

Descripción:
Borra la interrupción de la fuente de interrupción especificada (s).
El parámetro ui32IntFlags es el OR lógico de los valores ADC_INT_ *. Véase la
función ADCIntEnableEx () para la lista de valores posibles ADC_INT *.

Nota:
Debido a que hay un buffer de escritura en el procesador Cortex-M, es posible que
pasen varios ciclos de reloj antes de que la fuente de interrupción es en realidad se
aclaró. Por lo tanto, se recomienda que la fuente de interrupción se borrará temprano en
el controlador de interrupción (a diferencia de la última acción) para evitar volver desde
el controlador de interrupción antes de que la fuente de interrupción es en realidad
borra. El no hacerlo puede resultar en el controlador de interrupción se volvió a entrar
inmediatamente (debido a que el controlador de interrupciones sigue considerando que
la fuente de interrupción afirmó).

Devoluciones:
Ninguna.
ADCIntDisable
Desactiva una interrupción secuencia de muestras.

Prototipo:
vacío

ADCIntDisable (uint32_t ui32Base, uint32_t ui32SequenceNum)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.

Descripción:
Esta función desactiva la alarma de secuencia de muestras solicitada.

Devoluciones:
Ninguna.

ADCIntDisableEx
Desactiva fuentes de interrupción del ADC.

Prototipo:
vacío

ADCIntDisableEx (uint32_t ui32Base, uint32_t ui32IntFlags)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32IntFlags es la máscara de bits de las fuentes de interrupción desactivar.

Descripción:
Esta función desactiva las fuentes de interrupción ADC indicados. Sólo las fuentes que
están habilitadas se puede reflejar a la interrupción del procesador; fuentes con
discapacidad no tienen ningún efecto en el procesador.
El parámetro ui32IntFlags es el OR lógico de cualquiera de los siguientes:
ADC_INT_SS0 - interrumpió debido a la secuencia de muestras ADC 0.
ADC_INT_SS1 - interrumpió debido a la ADC secuencia de muestras 1.
ADC_INT_SS2 - interrumpió debido a la secuencia de muestras ADC 2.
ADC_INT_SS3 - interrumpió debido a la secuencia de muestras ADC 3.
ADC_INT_DMA_SS0 - interrumpió debido a la DMA en secuencia de muestras ADC
0.
ADC_INT_DMA_SS1 - interrumpió debido a la DMA en ADC secuencia de muestras
1.
ADC_INT_DMA_SS2 - interrumpió debido a la DMA en ADC secuencia de la muestra
2.
ADC_INT_DMA_SS3 - interrumpió debido a la DMA en secuencia de muestras ADC
3.
ADC_INT_DCON_SS0 - interrumpir debido al comparador digital en secuencia de
muestras ADC 0.
ADC_INT_DCON_SS1 - interrumpir debido al comparador digital de ADC secuencia
de muestras 1.
ADC_INT_DCON_SS2 - interrumpir debido al comparador digital ADC en secuencia
de la muestra 2.
ADC_INT_DCON_SS3 - interrumpir debido al comparador digital en secuencia de
muestras ADC 3.

Devoluciones:
Ninguna.

ADCIntEnable
Activa una alarma de secuencia de muestras.
Prototipo:
vacío

ADCIntEnable (uint32_t ui32Base, uint32_t ui32SequenceNum)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.

Descripción:
Esta función permite que la secuencia de muestras de interrupción solicitada. Cualquier
interrupción en circulación se borran antes de activar la alarma de secuencia de
muestras.

Devoluciones:
Ninguna.

ADCIntEnableEx
Permite a fuentes de interrupción del ADC.

Prototipo:
vacío

ADCIntEnableEx (uint32_t ui32Base, uint32_t ui32IntFlags)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32IntFlags es la máscara de bits de las fuentes de interrupción desactivar.
Descripción:
Esta función permite a las fuentes de interrupción ADC indicados. Sólo las fuentes que
están habilitadas se puede reflejar a la interrupción del procesador; fuentes con
discapacidad no tienen ningún efecto en el procesador.
El parámetro ui32IntFlags es el OR lógico de cualquiera de los siguientes:
ADC_INT_SS0 - interrumpió debido a la secuencia de muestras ADC 0.
ADC_INT_SS1 - interrumpió debido a la ADC secuencia de muestras 1.
ADC_INT_SS2 - interrumpió debido a la secuencia de muestras ADC 2.
ADC_INT_SS3 - interrumpió debido a la secuencia de muestras ADC 3.
ADC_INT_DMA_SS0 - interrumpió debido a la DMA en secuencia de muestras ADC
0.
ADC_INT_DMA_SS1 - interrumpió debido a la DMA en ADC secuencia de muestras
1.
ADC_INT_DMA_SS2 - interrumpió debido a la DMA en ADC secuencia de la muestra
2.
ADC_INT_DMA_SS3 - interrumpió debido a la DMA en secuencia de muestras ADC
3.
ADC_INT_DCON_SS0 - interrumpir debido al comparador digital en secuencia de
muestras ADC 0.
ADC_INT_DCON_SS1 - interrumpir debido al comparador digital de ADC secuencia
de muestras 1.
ADC_INT_DCON_SS2 - interrumpir debido al comparador digital ADC en secuencia
de la muestra 2.
ADC_INT_DCON_SS3 - interrumpir debido al comparador digital en secuencia de
muestras ADC 3.

Devoluciones:
Ninguna.

ADCIntRegister
Registra un controlador de interrupciones para una interrupción del ADC.
Prototipo:
vacío

ADCIntRegister (uint32_t ui32Base, uint32_t ui32SequenceNum, void (*


pfnHandler) (void))

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.
pfnHandler es un puntero a la función que se llamará cuando se produce la secuencia de
interrupción de muestreo ADC.

Descripción:
Esta función establece el manejador a ser llamado cuando se produce una interrupción
de la secuencia de la muestra. Esta función permite la interrupción global en el
controlador de interrupciones; la interrupción de la secuencia debe estar habilitado con
ADCIntEnable (). Es responsabilidad del gestor de interrupciones para desactivar la
fuente de interrupción a través de ADCIntClear ().

Ver también:
IntRegister () para obtener información importante acerca de cómo registrar el
manejador de interrupciones.

Devoluciones:
Ninguna.

ADCIntStatus
Obtiene el estado de alarma actual.

Prototipo:
uint32_t
ADCIntStatus (uint32_t ui32Base, uint32_t ui32SequenceNum, bool bMasked)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.
bMasked es falsa si se requiere que el estado de alarma cruda y verdadera si se requiere
la condición de interrupción enmascarada.

Descripción:
Esta función devuelve el estado de alarma para la secuencia de muestra especificado. O
bien el estado de alarma en bruto o el estado de las interrupciones que se les permite
reflejar al procesador pueden ser devueltos.

Devoluciones:
El estado de alarma crudo o enmascarada actual.

ADCIntStatusEx
Obtiene el estado de interrupción para el módulo ADC especificado.

Prototipo:
uint32_t

ADCIntStatusEx (uint32_t ui32Base, bool bMasked)

parámetros:
ui32Base es la dirección base del módulo ADC.
bMasked especifica si se devuelve el estado de interrupción enmascarada o crudos.

Descripción:
Si bMasked se establece como verdadero, entonces se devuelve el estado de
interrupción enmascarada; de lo contrario, se devuelve el estado de alarma en bruto.

Devoluciones:
Devuelve el estado de interrupción de corriente para el módulo ADC especificado. El
valor devuelto es el OR lógico de los valores ADC_INT_ * que están actualmente
activos.

ADCIntUnregister
Se elimina el registro del controlador de interrupción para una interrupción del ADC.

Prototipo:
vacío

ADCIntUnregister (uint32_t ui32Base, uint32_t ui32SequenceNum)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.

Descripción:
Esta función elimina el registro del manejador de interrupciones. Esta función se
desactiva la interrupción global en el controlador de interrupciones; la interrupción de
secuencia debe ser desactivado a través ADCIntDisable ().
Ver también:
IntRegister () para obtener información importante acerca de cómo registrar el
manejador de interrupciones.

Devoluciones:
Ninguna.
ADCPhaseDelayGet
Obtiene el retardo de fase entre un disparador y el inicio de una secuencia.

Prototipo:
uint32_t

ADCPhaseDelayGet (uint32_t ui32Base)

parámetros:
ui32Base es la dirección base del módulo ADC.

Descripción:
Esta función obtiene el retardo de fase de corriente entre la detección de un evento ADC
de disparo y el inicio de la secuencia de la muestra.

Devoluciones:
Devuelve el retardo de fase, se especifica como uno de ADC_PHASE_0,
ADC_PHASE_22_5,
ADC_PHASE_45, ADC_PHASE_67_5, ADC_PHASE_90, ADC_PHASE_112_5,
ADC_PHASE_135, ADC_PHASE_157_5, ADC_PHASE_180, ADC_PHASE_202_5,
ADC_PHASE_225, ADC_PHASE_247_5, ADC_PHASE_270, ADC_PHASE_292_5,
ADC_PHASE_315, o ADC_PHASE_337_5.

ADCPhaseDelaySet
Ajusta el retardo de fase entre un disparador y el inicio de una secuencia.

Prototipo:
vacío
ADCPhaseDelaySet (uint32_t ui32Base, uint32_t ui32Phase)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32Phase es el retardo de fase, se especifica como uno de ADC_PHASE_0,
ADC_PHASE_22_5,
ADC_PHASE_45, ADC_PHASE_67_5, ADC_PHASE_90, ADC_PHASE_112_5,
ADC_PHASE_135, ADC_PHASE_157_5, ADC_PHASE_180, ADC_PHASE_202_5,
ADC_PHASE_225, ADC_PHASE_247_5, ADC_PHASE_270, ADC_PHASE_292_5,
ADC_PHASE_315, o ADC_PHASE_337_5.

Descripción:
Esta función establece el retardo de fase entre la detección de un evento desencadenante
ADC y el inicio de la secuencia de muestras. Al seleccionar un retardo de fase diferente
para un par de módulos ADC (como ADC_PHASE_0 y ADC_PHASE_180) y que tiene
cada muestra módulo ADC la misma entrada analógica, es posible aumentar la
velocidad de muestreo de la entrada analógica (con muestras de N, N + 2 , N + 4, y así
sucesivamente, que viene de la primera ADC y las muestras de N + 1, N + 3, N + 5, y
así sucesivamente, que viene de la segunda ADC). El módulo ADC tiene un retardo de
fase única que se aplica a todas las secuencias de la muestra dentro de ese módulo.

Nota:
Esta capacidad no está disponible en todas partes.

Devoluciones:
Ninguna.

ADCProcessorTrigger
Provoca un disparador procesador para una secuencia de muestras.
Prototipo:
vacío

ADCProcessorTrigger (uint32_t ui32Base, uint32_t ui32SequenceNum)


parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra, con o
ADC_TRIGGER_WAIT
ADC_TRIGGER_SIGNAL opcionalmente OR lógica en ella.

Descripción:
Esta función activa una secuencia de muestras procesador iniciada si el disparador
secuencia de muestras está configurado para ADC_TRIGGER_PROCESSOR. Si
ADC_TRIGGER_WAIT se ORed en el número de secuencia, el gatillo procesador
iniciada se retrasa hasta que un disparador procesador de iniciado más tarde a un
módulo ADC diferente que especifica ADC_TRIGGER_SIGNAL, lo que permite
múltiples ADCs partir de un gatillo procesador iniciada de una manera síncrona.

Devoluciones:
Ninguna.

ADCReferenceGet
Devuelve la configuración actual de la referencia del ADC.

Prototipo:
uint32_t

ADCReferenceGet (uint32_t ui32Base)

parámetros:
ui32Base es la dirección base del módulo ADC.

Descripción:
Devuelve el valor de la configuración de referencia ADC. El valor devuelto es uno de
ADC_REF_INT, o ADC_REF_EXT_3V.

Nota:
El valor devuelto por esta función sólo tiene sentido si se utiliza en una parte que es
capaz de utilizar una referencia externa. Consulte la hoja de datos de su parte para ver si
hay una entrada de referencia externa.

Devoluciones:
El ajuste actual de la referencia del ADC.

ADCReferenceSet
Selecciona la referencia ADC.

Prototipo:
vacío

ADCReferenceSet (uint32_t ui32Base, uint32_t ui32Ref)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32Ref es la referencia de usar.

Descripción:
La referencia ADC se establece como especificado por ui32Ref. Debe ser uno de
ADC_REF_INT, o ADC_REF_EXT_3V para la referencia interna o externa Si se elige
ADC_REF_INT, a continuación, una referencia 3V interna se utiliza y no se necesita
referencia externa. Si se elige ADC_REF_EXT_3V, a continuación, una referencia 3V
debe ser suministrado a la clavija AVREF.

Nota:
La referencia ADC sólo se puede seleccionar en las partes que tienen una referencia
externa. Consulte la hoja de datos de su parte para determinar si hay una referencia
externa.

Devoluciones:
Ninguna.

ADCSequenceConfigure
Configura la fuente de disparo y la prioridad de una secuencia de muestras.

Prototipo:
vacío

ADCSequenceConfigure (uint32_t ui32Base, uint32_t ui32SequenceNum, uint32_t


ui32Trigger, uint32_t ui32Priority)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.
ui32Trigger es la fuente de disparo que inicia la secuencia de muestras; debe ser uno de
los valores ADC_TRIGGER_ *.
ui32Priority es la prioridad relativa de la secuencia de la muestra con respecto a las
otras secuencias de la muestra.

Descripción:
Esta función configura los criterios para la iniciación de una secuencia de muestras.
secuenciadores muestra válida van de cero a tres; secuenciador cero captura hasta ocho
muestras, secuenciadores uno y dos de captura de hasta cuatro muestras, y un
secuenciador de tres captura una sola muestra. La condición de disparo y la prioridad
(con respecto a la ejecución de otro secuenciador de muestras) se establecen.
El parámetro ui32Trigger puede tomar los siguientes valores:
ADC_TRIGGER_PROCESSOR - Un disparador generado por el procesador, a través
de la función ADCProcessorTrigger ().
ADC_TRIGGER_COMP0 - Un disparador generado por la primera comparador
analógico; configurado con ComparatorConfigure ().
ADC_TRIGGER_COMP1 - Un disparador generado por el segundo comparador
analógico; configurado con ComparatorConfigure ().
ADC_TRIGGER_COMP2 - Un disparador generado por la tercera comparador
analógico; configurado con ComparatorConfigure ().
ADC_TRIGGER_EXTERNAL - Un disparador generado por una entrada desde el pin
B4 puerto.

Nota
que algunos microcontroladores pueden elegir entre cualquier GPIO usando la función
GPIOADCTriggerEnable ().

ADC_TRIGGER_TIMER - Un disparador generado por un temporizador; configurado


con TimerControlTrigger ().
ADC_TRIGGER_PWM0 - Un disparador generado por el primer generador de PWM;
configurado con PWMGenIntTrigEnable ().
ADC_TRIGGER_PWM1 - Un disparador generado por el segundo generador de PWM;
configurado con PWMGenIntTrigEnable ().
ADC_TRIGGER_PWM2 - Un disparador generado por la tercera generador de PWM;
configurado con PWMGenIntTrigEnable ().
ADC_TRIGGER_PWM3 - Un disparador generado por el cuarto generador de PWM;
configurado con PWMGenIntTrigEnable ().
ADC_TRIGGER_ALWAYS - un disparador que siempre se afirma, haciendo que la
secuencia de muestras para capturar varias veces (siempre y cuando no hay una fuente
activa de mayor prioridad).
Cuando ADC_TRIGGER_PWM0, ADC_TRIGGER_PWM1, o
ADC_TRIGGER_PWM2
ADC_TRIGGER_PWM3 se especifica, una de las siguientes opciones se debe ORED
en ui32Trigger para seleccionar el módulo PWM a partir del cual serán enviados los
factores desencadenantes de esta secuencia:

ADC_TRIGGER_PWM_MOD0 - Selecciona el módulo PWM 0 como la fuente de la


PWM0 a PWM3 disparadores para esta secuencia.
ADC_TRIGGER_PWM_MOD1 - Selecciona el módulo PWM 1 como origen de la
PWM0 a PWM3 disparadores para esta secuencia.
Nota:
Que no todas las fuentes de ignición están disponibles en todos los miembros de la
familia Tiva; consultar los datos
hoja para el dispositivo en cuestión para determinar la disponibilidad de los factores
desencadenantes.
El parámetro ui32Priority es un valor entre 0 y 3, donde 0 representa la prioridad más
alta y la más baja 3. Tenga en cuenta que cuando se programa la prioridad entre un
conjunto de secuencias de muestras, cada uno debe tener prioridad única; le corresponde
a la persona que llama para garantizar la singularidad de las prioridades.

Devoluciones:
Ninguna.

ADCSequenceDataGet

Obtiene los datos capturados para una secuencia de muestras.

Prototipo:
int32_t

ADCSequenceDataGet (uint32_t ui32Base, uint32_t ui32SequenceNum, uint32_t *


pui32Buffer)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.
pui32Buffer es la dirección en la que se almacenan los datos.

Descripción:
Esta función copia los datos de la salida de la muestra especificada secuenciador FIFO a
un tampón residente en memoria. El número de muestras disponibles en el FIFO de
hardware se copian en la memoria intermedia, que se supone que es lo suficientemente
grande como para mantener que muchas muestras. Esta función sólo devuelve las
muestras que están actualmente disponibles, que puede no ser la secuencia completa de
la muestra si es en el proceso de ejecución.

Devoluciones:
Devuelve el número de muestras copiados en la memoria intermedia.

ADCSequenceDisable
Desactiva una secuencia de muestras.

Prototipo:
vacío

ADCSequenceDisable (uint32_t ui32Base, uint32_t ui32SequenceNum)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.

Descripción:
Previene la secuencia de muestra especificado de ser capturados cuando se detecta su
activación. Una secuencia de muestras debe estar desactivado antes de que se configura.

Devoluciones:
Ninguna.

ADCSequenceDMADisable
Desactiva DMA para secuenciadores de muestra.
Prototipo:
vacío

ADCSequenceDMADisable (uint32_t ui32Base, uint32_t ui32SequenceNum)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.

Descripción:
Evita que el secuenciador de muestra especificado desde la generación de solicitudes de
DMA.

Devoluciones:
Ninguna.

ADCSequenceDMAEnable
Habilita DMA para secuenciadores de muestra.

Prototipo:
vacío

ADCSequenceDMAEnable (uint32_t ui32Base, uint32_t ui32SequenceNum)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.

Descripción:
Permite que las solicitudes de DMA a ser generados sobre la base del nivel de FIFO del
secuenciador muestra.

Devoluciones:
Ninguna.

ADCSequenceEnable
Habilita una secuencia de muestras.

Prototipo:
vacío

ADCSequenceEnable (uint32_t ui32Base, uint32_t ui32SequenceNum)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.

Descripción:
Permite que la secuencia de muestra especificado para ser capturado cuando se detecta
su activación. Una secuencia de muestras debe configurarse antes de que esté habilitada.

Devoluciones:
Ninguna.

ADCSequenceOverflow
Determina si se ha producido una secuencia de desbordamiento de la muestra.

Prototipo:
int32_t
ADCSequenceOverflow (uint32_t ui32Base, uint32_t ui32SequenceNum)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.

Descripción:
Esta función determina si se ha producido un desbordamiento de secuencia de muestras.
Desbordamiento ocurre si las muestras capturadas no son leídos de la FIFO antes de que
ocurra el siguiente disparo.

Devoluciones:
Devuelve cero si no había un exceso de capacidad, y no cero si no lo era.

ADCSequenceOverflowClear
Borra la condición de desbordamiento en una secuencia de muestras.

Prototipo:
vacío

ADCSequenceOverflowClear (uint32_t ui32Base, uint32_t ui32SequenceNum)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.

Descripción:
Esta función borra una condición de desbordamiento en una de las secuencias de
muestras. La condición de desbordamiento debe ser limpiado con el fin de detectar una
condición de desbordamiento posterior (que de otro modo no causa ningún daño).

Devoluciones:
Ninguna.

ADCSequenceStepConfigure
Configurar un paso del secuenciador de muestras.

Prototipo:
vacío

ADCSequenceStepConfigure (uint32_t ui32Base, uint32_t ui32SequenceNum,


uint32_t ui32Step, uint32_t ui32Config)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.
ui32Step es el paso para ser configurado.
ui32Config es la configuración de este paso; debe ser un OR lógico de ADC_CTL_TS,
ADC_CTL_IE, ADC_CTL_END, ADC_CTL_D, selecciona uno de los canales de
entrada
(ADC_CTL_CH0 través ADC_CTL_CH23), y una de las selecciona comparador digital
(ADC_CTL_CMP0 través ADC_CTL_CMP7).

Descripción:
Esta función configura el ADC para un paso de una secuencia de muestra. El ADC se
puede configurar para la operación de una sola terminal o diferencial (el bit
ADC_CTL_D selecciona el funcionamiento diferencial cuando se fija), el canal a ser
muestreado puede ser elegido (el ADC_CTL_CH0 a través de valores
ADC_CTL_CH23), y el sensor de temperatura interna se puede seleccionar (los
ADC_CTL_TS poco). Además, este paso se puede definir como el último en la
secuencia (el bit ADC_CTL_END) y puede ser configurado para causar una
interrupción cuando el paso se completa (el bit ADC_CTL_IE). Si los comparadores
digitales están presentes en el dispositivo, este paso también puede ser configurado para
enviar la muestra de ADC al comparador seleccionado utilizando ADC_CTL_CMP0
través ADC_CTL_CMP7. La configuración es utilizada por el ADC en el momento
apropiado cuando se produce el disparo de esta secuencia.

Nota:
Si el comparador digital está presente y se activa mediante el ADC_CTL_CMP0 a
través selecciona ADC_CTL_CMP7, la muestra de ADC no está escrita en la FIFO
datos de la secuencia ADC.
El parámetro ui32Step determina el orden en el que las muestras son capturados por el
ADC cuando se produce el disparo. Puede variar de cero a siete para el primero
secuenciador muestra, de cero a tres para el segundo y tercero secuenciador muestra, y
sólo puede ser cero para el cuarto secuenciador muestra.
Modo diferencial sólo funciona con pares de canales adyacentes (por ejemplo, 0 y 1). La
selección de canal debe ser el número de la pareja de canales de la muestra (por
ejemplo, ADC_CTL_CH0 de 0 y 1, o ADC_CTL_CH1 para 2 y 3) o resultados no
definidos son devueltos por el ADC. Además, si se selecciona el modo diferencial
cuando se muestrea el sensor de temperatura, los resultados no definidos son devueltos
por el ADC.
Es responsabilidad de la persona que llama para asegurarse de que no se especifica una
configuración válida; esta función no comprueba la validez de la configuración
especificada.

Devoluciones:
Ninguna.

ADCSequenceUnderflow

Determina si se ha producido una secuencia de flujo inferior de la muestra.

Prototipo:
int32_t
ADCSequenceUnderflow (uint32_t ui32Base, uint32_t ui32SequenceNum)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.

Descripción:
Esta función determina si se ha producido un desbordamiento secuencia de muestras.
Underflow ocurre si demasiadas muestras se leen de la memoria FIFO.

Devoluciones:
Devuelve cero si no había un flujo inferior, y no cero si no lo era.

ADCSequenceUnderflowClear

Borra la condición de agotamiento en una secuencia de muestras.

Prototipo:
vacío

ADCSequenceUnderflowClear (uint32_t ui32Base, uint32_t ui32SequenceNum)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.

Descripción:
Esta función borra una condición de subdesbordamiento en uno de los secuenciadores
de muestra. La condición de subdesbordamiento debe ser limpiado con el fin de detectar
una condición de subdesbordamiento posterior (que de otro modo no causa ningún
daño).

Devoluciones:
Ninguna.

ADCSoftwareOversampleConfigure

Configura el factor de sobremuestreo de software de la ADC.

Prototipo:
vacío

ADCSoftwareOversampleConfigure (uint32_t ui32Base, uint32_t


ui32SequenceNum, uint32_t ui32Factor)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.
ui32Factor es el número de muestras que se promedió.

Descripción:
Esta función configura el software de sobremuestreo para la ADC, que puede ser
utilizado para proporcionar una mejor resolución de los datos muestreados.
Sobremuestreo se logra haciendo un promedio de varias muestras de la misma entrada
analógica. Tres tasas de sobremuestreo diferentes son compatibles; 2x, 4x, 8x y.
Sobremuestreo sólo se admite en los secuenciadores de muestra que son más de una
muestra en profundidad (es decir, no se admite el cuarto secuenciador de muestras).
Sobremuestreo por 2x (por ejemplo) divide la profundidad de la muestra de
secuenciador por dos; por lo sobremuestreo 2x en el primer secuenciador de muestras
sólo puede proporcionar cuatro muestras por gatillo. Esto también significa que
sobremuestreo 8x sólo está disponible en el primer secuenciador de muestras.
Devoluciones:
Ninguna.

ADCSoftwareOversampleDataGet

Obtiene los datos capturados para una secuencia de muestras usando el software de
sobremuestreo.

Prototipo:
vacío

ADCSoftwareOversampleDataGet (uint32_t ui32Base, uint32_t


ui32SequenceNum, uint32_t * pui32Buffer, uint32_t ui32Count)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.
pui32Buffer es la dirección en la que se almacenan los datos.
ui32Count es el número de muestras que se deben leer.

Descripción:
Esta función copia los datos de la salida especificada secuencia de muestras a un búfer
FIFO residente en memoria con el software de sobremuestreo aplica. El número
solicitado de muestras se copian en el búfer de datos; Si no hay suficientes muestras en
la FIFO de hardware para satisfacer esta cantidad de elementos de datos
sobremuestreadas, a continuación, se devuelven resultados incorrectos. Es
responsabilidad de la persona que llama para leer solamente las muestras que están
disponibles y esperar hasta que hay suficientes datos disponibles, por ejemplo como
resultado de la recepción de una interrupción.

Devoluciones:
Ninguna.
ADCSoftwareOversampleStepConfigure
Configura un paso del secuenciador software de sobremuestreo.

Prototipo:
vacío

ADCSoftwareOversampleStepConfigure (uint32_t ui32Base, uint32_t


ui32SequenceNum, uint32_t ui32Step, uint32_t ui32Config)

parámetros:
ui32Base es la dirección base del módulo ADC.
ui32SequenceNum es el número de secuencia de la muestra.
ui32Step es el paso para ser configurado.
ui32Config es la configuración de este paso.

Descripción:

Esta función configura un paso del secuenciador de ejemplo al utilizar la función de


sobremuestreo de software. El número de pasos disponibles depende del factor de
sobremuestreo establecido por ADCSoftwareOversampleConfigure (). El valor de
ui32Config es el mismo como se define para ADCSequenceStepConfigure ().

Devoluciones:
Ninguna.

Ejemplo de programación

El siguiente ejemplo muestra cómo utilizar la API de ADC para inicializar un


secuenciador de muestras para el procesador de disparo, activar la secuencia de
muestras, y luego vuelve a leer los datos cuando está listo.
uint32_t ui32Value;
//
// Habilitar el módulo ADC0.
//
SysCtlPeripheralEnable (SYSCTL_PERIPH_ADC0);
//
// Espera a que el módulo de ADC0 para estar listo.
//
while (! SysCtlPeripheralReady (SYSCTL_PERIPH_ADC0)){}
//
// Habilitar el primer secuenciador de muestras para capturar el valor de la vía 0 cuando
// El gatillo procesador se produce.
//
ADCSequenceConfigure (ADC0_BASE, 0, ADC_TRIGGER_PROCESSOR, 0);
ADCSequenceStepConfigure (ADC0_BASE, 0, 0,
ADC_CTL_IE | ADC_CTL_END | ADC_CTL_CH0);
ADCSequenceEnable (ADC0_BASE, 0);
//
// Desencadenar la secuencia de muestras.
//
ADCProcessorTrigger (ADC0_BASE, 0);
//
// Espera hasta que la secuencia de muestras se ha completado.
//
while (! ADCIntStatus (ADC0_BASE, 0, false))
{}
//
// Lea el valor de la ADC.
//
ADCSequenceDataGet (ADC0_BASE, 0, y ui32Value)

Вам также может понравиться