fixed bug with LEDs

This commit is contained in:
2024-07-02 11:46:35 +03:00
parent c49e71c047
commit 9470b22c88
6 changed files with 140 additions and 46 deletions

View File

@@ -21,13 +21,14 @@
uint8_t ledsON = 0;
void gpio_setup(void){
RCC->AHBENR |= RCC_AHBENR_GPIOBEN;
// Set LEDS (PB0/1) as output
RCC->AHBENR |= RCC_AHBENR_GPIOAEN | RCC_AHBENR_GPIOBEN;
// Set LEDS (PB15/PA8) as output
pin_set(LED0_port, LED0_pin); // clear LEDs
pin_set(LED1_port, LED1_pin);
GPIOB->MODER = (GPIOB->MODER & ~(GPIO_MODER_MODER0 | GPIO_MODER_MODER1)
) |
GPIO_MODER_MODER0_O | GPIO_MODER_MODER1_O;
GPIOB->MODER = (GPIOB->MODER & ~(GPIO_MODER_MODER15)) |
GPIO_MODER_MODER15_O;
GPIOA->MODER = (GPIOA->MODER & ~(GPIO_MODER_MODER8)) |
GPIO_MODER_MODER8_O;
}
void iwdg_setup(){
@@ -53,12 +54,6 @@ void iwdg_setup(){
IWDG->KR = IWDG_REFRESH; /* (6) */
}
// pause in milliseconds for some purposes
void pause_ms(uint32_t pause){
uint32_t Tnxt = Tms + pause;
while(Tms < Tnxt) nop();
}
void Jump2Boot(){
void (*SysMemBootJump)(void);
volatile uint32_t addr = 0x1FFFC800;