36 lines
818 B
C
Executable File
36 lines
818 B
C
Executable File
// components/peripherals/include/adc121s021_dma.h
|
||
#ifndef ADC_DMA_H_
|
||
#define ADC_DMA_H_
|
||
|
||
#include <stdint.h>
|
||
#include <stdbool.h>
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
/**
|
||
* @brief Inicializa o ADC121S021 no barramento SPI partilhado.
|
||
*
|
||
* - Garante que o spi_bus_manager foi inicializado.
|
||
* - Regista o dispositivo ADC no bus.
|
||
*/
|
||
void adc121s021_dma_init(void);
|
||
|
||
/**
|
||
* @brief Lê uma única amostra (12 bits) do ADC121S021.
|
||
*
|
||
* Esta função faz uma transação SPI bloqueante (polling), suficientemente
|
||
* rápida para uso em burst (100 amostras em ~2–3 ms).
|
||
*
|
||
* @param[out] sample Ponteiro onde será escrito o valor lido (0..4095).
|
||
* @return true em caso de sucesso, false se ocorrer erro.
|
||
*/
|
||
bool adc121s021_dma_get_sample(uint16_t *sample);
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
#endif /* ADC_DMA_H_ */
|