TP_microcontroleur/bateau-microcontrolleur/Source/principal.c
2021-09-23 16:27:33 +02:00

35 lines
No EOL
762 B
C

#include"stm32f10x.h"
//mise en place des bits d'accès
#define ACCESS_BTN_BLUE (1 << 13)
#define ACCESS_LED_GREEN (1 << 5)
//configuration du pin de la led
//GPIOA->PIN PA.5 = 4*5 (où 4 = nb bit par pin)
#define DECALAGE_PA5 (5 * 4)
int main(void){
//activation des clocks
RCC->APB2ENR |= (0x01 << 2) | (0x01 << 3) | (0x01 << 4) ;
//on nettoie la config actuelle de PA5 (on reset)
GPIOA->CRL &= ~(0xF << DECALAGE_PA5);
//on met la conf, output push-pull c'est le nombre 2
GPIOA->CRL |= 2 << DECALAGE_PA5;
while(1){
if(GPIOC->IDR & ACCESS_BTN_BLUE){
//bouton non pressé, il faut éteindre la led
GPIOA->ODR &= ~(ACCESS_LED_GREEN);
}
else {
//bouton pressé, il faut allumer la led
GPIOA->ODR |= ACCESS_LED_GREEN;
}
}
}