#Include stm32f4xx - Hal.h
#Include stm32f4xx - Hal.h
h"
// Function prototypes
void SystemClock_Config(void);
void Error_Handler(void);
// Main function
int main(void) {
// Initialize the HAL Library
HAL_Init();
// Main loop
while (1) {
// Read the state of the button
if (HAL_GPIO_ReadPin(BUTTON_PORT, BUTTON_PIN) == GPIO_PIN_RESET) {
// Button is pressed, toggle the LED state
HAL_GPIO_TogglePin(LED_PORT, LED_PIN);
// Select PLL as the system clock source and configure the HCLK, PCLK1, and PCLK2
clocks
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK |
RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK) {
Error_Handler();
}
}
// Error Handler
void Error_Handler(void) {
// User can add their own error handling here
while (1) {
// Infinite loop
}
}