Skip to content

Commit dd88e97

Browse files
committed
STM32F4 : correct ST HAL API call
- RCC init: one PLL parameter was missing - GPIO: mode was not allowed by ST HAL API
1 parent fa8529d commit dd88e97

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

targets/TARGET_STM/TARGET_STM32F4/TARGET_DISCO_F469NI/device/system_stm32f4xx.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -808,6 +808,8 @@ void SystemClock_Config(void)
808808
RCC_OscInitStruct.PLL.PLLN = 336;
809809
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
810810
RCC_OscInitStruct.PLL.PLLQ = 7;
811+
RCC_OscInitStruct.PLL.PLLR = 2; // I2S clocks
812+
811813
HAL_RCC_OscConfig(&RCC_OscInitStruct);
812814

813815
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1
@@ -843,6 +845,8 @@ void SystemClock_Config(void)
843845
RCC_OscInitStruct.PLL.PLLN = 360;
844846
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
845847
RCC_OscInitStruct.PLL.PLLQ = 7;
848+
RCC_OscInitStruct.PLL.PLLR = 2; // I2S clocks
849+
846850
HAL_RCC_OscConfig(&RCC_OscInitStruct);
847851

848852
HAL_PWREx_ActivateOverDrive();

targets/TARGET_STM/TARGET_STM32F4/TARGET_NUCLEO_F410RB/device/system_stm32f4xx.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -840,6 +840,7 @@ uint8_t SetSysClock_PLL_HSE(uint8_t bypass)
840840
RCC_OscInitStruct.PLL.PLLN = 192; // VCO output clock = 384 MHz (2 MHz * 192)
841841
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; // PLLCLK = 96 MHz (384 MHz / 4)
842842
RCC_OscInitStruct.PLL.PLLQ = 8; // USB clock = 48 MHz (384 MHz / 8) --> Good for USB
843+
RCC_OscInitStruct.PLL.PLLR = 2; // I2S clocks
843844
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
844845
{
845846
return 0; // FAIL

targets/TARGET_STM/TARGET_STM32F4/gpio_irq_api.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ void gpio_irq_set(gpio_irq_t *obj, gpio_irq_event event, uint32_t enable)
304304
mode = STM_MODE_IT_FALLING;
305305
obj->event = EDGE_FALL;
306306
} else { // NONE or RISE
307-
mode = STM_MODE_IT_EVT_RESET;
307+
mode = STM_MODE_INPUT;
308308
obj->event = EDGE_NONE;
309309
}
310310
}
@@ -313,7 +313,7 @@ void gpio_irq_set(gpio_irq_t *obj, gpio_irq_event event, uint32_t enable)
313313
mode = STM_MODE_IT_RISING;
314314
obj->event = EDGE_RISE;
315315
} else { // NONE or FALL
316-
mode = STM_MODE_IT_EVT_RESET;
316+
mode = STM_MODE_INPUT;
317317
obj->event = EDGE_NONE;
318318
}
319319
}

0 commit comments

Comments
 (0)