// // Created by cfif on 17.11.22. // #ifndef ADC_FLAGCHIP_H #define ADC_FLAGCHIP_H #include "Adc.h" #include "cmsis_os2.h" #include "fc7xxx_driver_adc.h" #include "fc7xxx_driver_pcc.h" #include "interrupt_manager.h" typedef struct { ADC_InstanceType ADCx; uint8_t num_aChannels; uint32_t *DMA_BUF; int32_t offset; double mux; double div; osMessageQueueId_t txAccessQueue; ADC_InitType s_tAdcInitCfg; ADC_DmaType s_tAdcDmaCfg; float pVoltageBuffer[32]; } tAdcFlagchip; tAdcFlagchip ADC_Initial( ADC_InstanceType ADCx, // ADC_INSTANCE_0, ADC_INSTANCE_1 PCC_ClkSrcType adcClock, // PCC_CLK_ADC0, PCC_CLK_ADC1 DMA_ChannelType ADC_DMA_CHANNEL, // DMA_CHANNEL_0 .. DMA_CHANNEL_15 IRQn_Type IRQ_DMA, uint8_t IRQ_DMA_PRIORITY, uint8_t IRQ_DMA_CHANNEL_PRIORITY, const uint32_t *DMA_BUF, uint8_t num_aChannels, ADC_ChannelCfgType *s_aChannels, int32_t offset, double mux, double div, ADC_ConvCompleteCallbackType Bsp_ADC_HandleResult ); tAdcIO vAdcGetIo(tAdcFlagchip *env); void Get_ADC_Result(tAdcFlagchip *env); #endif //ADC_FLAGCHIP_H