From c3669029373b64c9422503aec78e7c0f7754bc76 Mon Sep 17 00:00:00 2001 From: heck Date: Thu, 17 Aug 2023 20:17:34 +0200 Subject: [PATCH] Use brace initialization --- src/main.c | 175 +++++++++++++++++++++++++++++------------------------ 1 file changed, 97 insertions(+), 78 deletions(-) diff --git a/src/main.c b/src/main.c index ff6bec9..898ae67 100644 --- a/src/main.c +++ b/src/main.c @@ -4,6 +4,8 @@ #include "usb_device.h" #include "stm32f4xx_hal_cortex.h" +extern PCD_HandleTypeDef hpcd_USB_OTG_FS; + DAC_HandleTypeDef hdac1; DMA_HandleTypeDef hdma_dac1; TIM_HandleTypeDef htim2; @@ -11,14 +13,9 @@ TIM_HandleTypeDef htim6; TIM_HandleTypeDef htim7; RNG_HandleTypeDef hrng; -extern PCD_HandleTypeDef hpcd_USB_OTG_FS; - void sysclk_init(void) { - RCC_OscInitTypeDef RCC_OscInitStruct = { 0 }; - RCC_ClkInitTypeDef RCC_ClkInitStruct = { 0 }; - // Enable ALL the clocks __HAL_RCC_SYSCFG_CLK_ENABLE(); __HAL_RCC_PWR_CLK_ENABLE(); @@ -63,32 +60,39 @@ void sysclk_init(void) // Configure the main internal regulator output voltage __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); - /** Initializes the RCC Oscillators according to the specified parameters - * in the RCC_OscInitTypeDef structure. - */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - RCC_OscInitStruct.HSEState = RCC_HSE_ON; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - RCC_OscInitStruct.PLL.PLLM = 4; - RCC_OscInitStruct.PLL.PLLN = 168; - RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - RCC_OscInitStruct.PLL.PLLQ = 7; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { - Error_Handler(); - } - /** Initializes the CPU, AHB and APB buses clocks - */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | 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; + { + // Initializes the RCC Oscillators according to the specified parameters + // in the RCC_OscInitTypeDef structure. + RCC_OscInitTypeDef conf = { + .OscillatorType = RCC_OSCILLATORTYPE_HSE, + .HSEState = RCC_HSE_ON, + .PLL.PLLState = RCC_PLL_ON, + .PLL.PLLSource = RCC_PLLSOURCE_HSE, + .PLL.PLLM = 4, + .PLL.PLLN = 168, + .PLL.PLLP = RCC_PLLP_DIV2, + .PLL.PLLQ = 7, + }; + + if (HAL_RCC_OscConfig(&conf) != HAL_OK) { + Error_Handler(); + } + } - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK) { - Error_Handler(); + { + // Initializes the CPU, AHB and APB buses clocks + RCC_ClkInitTypeDef conf = { + .ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | + RCC_CLOCKTYPE_PCLK2, + .SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK, + .AHBCLKDivider = RCC_SYSCLK_DIV1, + .APB1CLKDivider = RCC_HCLK_DIV4, + .APB2CLKDivider = RCC_HCLK_DIV2, + }; + if (HAL_RCC_ClockConfig(&conf, FLASH_LATENCY_5) != HAL_OK) { + Error_Handler(); + } } } @@ -171,30 +175,37 @@ void gpio_init(void) HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12, GPIO_PIN_RESET); { - GPIO_InitTypeDef conf = { 0 }; - - conf.Pin = GPIO_PIN_0; - conf.Mode = GPIO_MODE_IT_RISING; - conf.Pull = GPIO_NOPULL; + // Button Blue + GPIO_InitTypeDef conf = { + .Pin = GPIO_PIN_0, + .Mode = GPIO_MODE_IT_RISING, + .Pull = GPIO_NOPULL, + .Speed = GPIO_SPEED_LOW, + }; HAL_GPIO_Init(GPIOA, &conf); } { - GPIO_InitTypeDef conf = { 0 }; + // LED Green + GPIO_InitTypeDef conf = { + .Pin = GPIO_PIN_12, + .Mode = GPIO_MODE_OUTPUT_PP, + .Pull = GPIO_NOPULL, + .Speed = GPIO_SPEED_FREQ_LOW, + }; - conf.Pin = GPIO_PIN_12; - conf.Mode = GPIO_MODE_OUTPUT_PP; - conf.Pull = GPIO_NOPULL; - conf.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOD, &conf); } { - GPIO_InitTypeDef conf = { 0 }; + // DAC1 + GPIO_InitTypeDef conf = { + .Pin = GPIO_PIN_4, + .Mode = GPIO_MODE_ANALOG, + .Pull = GPIO_NOPULL, + .Speed = GPIO_SPEED_FREQ_HIGH, + }; - conf.Pin = GPIO_PIN_4; - conf.Mode = GPIO_MODE_ANALOG; - conf.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOA, &conf); } } @@ -206,9 +217,10 @@ void dac_init(void) Error_Handler(); } - DAC_ChannelConfTypeDef conf = { 0 }; - conf.DAC_Trigger = DAC_TRIGGER_T6_TRGO; - conf.DAC_OutputBuffer = DAC_OUTPUTBUFFER_ENABLE; + DAC_ChannelConfTypeDef conf = { + .DAC_Trigger = DAC_TRIGGER_T6_TRGO, + .DAC_OutputBuffer = DAC_OUTPUTBUFFER_ENABLE, + }; if (HAL_DAC_ConfigChannel(&hdac1, &conf, DAC_CHANNEL_1) != HAL_OK) { Error_Handler(); } @@ -230,12 +242,11 @@ void dma_init(void) Error_Handler(); } -// Originally that was: -// __HAL_LINKDMA(&hdac1, DMA_Handle1, hdma_dac1); -// Exapanded to: -// hdma_dac1.Parent = &hdac1; + // Originally that was: + // __HAL_LINKDMA(&hdac1, DMA_Handle1, hdma_dac1); + // Exapanded to: + // hdma_dac1.Parent = &hdac1; hdac1.DMA_Handle1 = &hdma_dac1; - } // -------------------------------------------------------------------------------------------------- @@ -254,17 +265,23 @@ void tim2_init(void) Error_Handler(); } - TIM_ClockConfigTypeDef sClockSourceConfig = { 0 }; - sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK) { - Error_Handler(); + { + TIM_ClockConfigTypeDef conf = { + .ClockSource = TIM_CLOCKSOURCE_INTERNAL, + }; + if (HAL_TIM_ConfigClockSource(&htim2, &conf) != HAL_OK) { + Error_Handler(); + } } - TIM_MasterConfigTypeDef sMasterConfig = { 0 }; - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) { - Error_Handler(); + { + TIM_MasterConfigTypeDef conf = { + .MasterOutputTrigger = TIM_TRGO_RESET, + .MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE, + }; + if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &conf) != HAL_OK) { + Error_Handler(); + } } } @@ -279,11 +296,14 @@ void tim6_init(void) Error_Handler(); } - TIM_MasterConfigTypeDef sMasterConfig = { 0 }; - sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK) { - Error_Handler(); + { + TIM_MasterConfigTypeDef conf = { + .MasterOutputTrigger = TIM_TRGO_UPDATE, + .MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE, + }; + if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &conf) != HAL_OK) { + Error_Handler(); + } } } @@ -298,11 +318,14 @@ void tim7_init(void) Error_Handler(); } - TIM_MasterConfigTypeDef sMasterConfig = { 0 }; - sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - if (HAL_TIMEx_MasterConfigSynchronization(&htim7, &sMasterConfig) != HAL_OK) { - Error_Handler(); + { + TIM_MasterConfigTypeDef conf = { + .MasterOutputTrigger = TIM_TRGO_RESET, + .MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE, + }; + if (HAL_TIMEx_MasterConfigSynchronization(&htim7, &conf) != HAL_OK) { + Error_Handler(); + } } } @@ -324,10 +347,6 @@ void irq_init() HAL_NVIC_EnableIRQ(EXTI0_IRQn); } -// -------------------------------------------------------------------------------------------------- -// Random Number Generator (RNG) -// -------------------------------------------------------------------------------------------------- - void rng_init(void) { hrng.Instance = RNG; @@ -364,13 +383,15 @@ void rtos_default_task(void *argument) void rtos_init(void) { - const osThreadAttr_t defaultTask_attributes = { + osKernelInitialize(); + const osThreadAttr_t conf = { .name = "defaultTask", .stack_size = 128 * 4, .priority = (osPriority_t)osPriorityNormal, }; osThreadId_t defaultTaskHandle; - defaultTaskHandle = osThreadNew(rtos_default_task, NULL, &defaultTask_attributes); + defaultTaskHandle = osThreadNew(rtos_default_task, NULL, &conf); + osKernelStart(); } int main(void) @@ -388,8 +409,6 @@ int main(void) irq_init(); dma_init(); - osKernelInitialize(); rtos_init(); - osKernelStart(); }