36 lines
1.2 KiB
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);
|
|
|
|
} |