Voilier/GPIO_Test/Sources/Main.c
2023-04-07 13:16:18 +02:00

53 行
1 KiB
C

#include "Driver_GPIO.h"
#include "Driver_Timer.h"
#include "Driver_ADC.h"
void Timer_interup(void);
void ADC_interrup(void);
int main (void){
//Déclaration ADC de Test
MyADC_Struct_TypeDef ADCTEST;
//Déclaration d'un Timer 500 ms
MyTimer_Struct_TypeDef TIM500ms;
//Init Timer 2 et Test
TIM500ms.Timer = TIM2;
TIM500ms.PSC = 7200-1; // =0.5ms(calculé à partir de la fréquence du micro)
TIM500ms.ARR = 5000-1;
MyTimer_Base_Init(&TIM500ms, Timer_interup);
TIM2->DIER |= 1<< 0 ; //INTERRUPTION PERIPH
TIM2->DIER |= TIM_DIER_UIE ;
NVIC->ISER[0] |= 1<<TIM2_IRQn ; //INTERRUPTION COEUR
NVIC->IP[TIM2_IRQn] = 2<< 4 ;
//TEST ADC//
ADCTEST.ADC = ADC1;
ADCTEST.Channel = 0;
MyADC_Base_Init(&ADCTEST);
MyADC_Base_Interuption(ADCTEST.ADC);
MyADC_Init_Periph(ADC_interrup);
while(1){
MyADC_Base_Start(ADCTEST.ADC);
}
}
//Interuption du programme par trigger du timer
void Timer_interup(void)
{
MyGPIO_Toggle(GPIOA,5);
}
//Interruption du programme par trigger de l'ADC
void ADC_interrup()
{
}