UveosOnNation_VEGA_Adcs/Adcs.c

36 lines
1.2 KiB
C

//
// Created by xemon on 29.08.22.
//
#include "Adcs.h"
#include "n32g45x.h"
#include "GpioPin.h"
tAdcs ADCS;
void ADC_RCC_Configuration() {
// Enable ADC1
RCC_EnableAHBPeriphClk(RCC_AHB_PERIPH_ADC1, ENABLE);
RCC_EnableAHBPeriphClk(RCC_AHB_PERIPH_ADC2, ENABLE);
// RCC_ADCHCLK_DIV16
ADC_ConfigClk(ADC_CTRL3_CKMOD_AHB, RCC_ADCHCLK_DIV16);
RCC_ConfigAdc1mClk(RCC_ADC1MCLK_SRC_HSE, RCC_ADC1MCLK_DIV8); //selsect HSE as RCC ADC1M CLK Source
}
void Adcs_Init() {
tAdcs *env = &ADCS;
ADC_RCC_Configuration();
GpioPin_Init(GPIOA, GPIO_PIN_1, GPIO_Mode_IN_FLOATING, GPIO_Speed_50MHz, GPIO_PIN_NOREVERSE);
env->gnssAntenna = ADC_Initial(ADC1, ADC1_Channel_02_PA1, 1, 1, 0, 1000);
env->gnssAntennaIo = vAdcGetIo(&env->gnssAntenna);
GpioPin_Init(GPIOA, GPIO_PIN_2, GPIO_Mode_IN_FLOATING, GPIO_Speed_50MHz, GPIO_PIN_NOREVERSE);
env->speaker = ADC_Initial(ADC1, ADC1_Channel_11_PA2, 1, 1, 0, 1000);
env->speakerIo = vAdcGetIo(&env->speaker);
GpioPin_Init(GPIOC, GPIO_PIN_4, GPIO_Mode_IN_FLOATING, GPIO_Speed_50MHz, GPIO_PIN_NOREVERSE);
env->battery = ADC_Initial(ADC2, ADC2_Channel_05_PC4, 2900, 1800, 0, 1000);
env->batteryIo = vAdcGetIo(&env->battery);
}