Files
@ c1b2840961f0
Branch filter:
Location: therm-ng/src/system/system.c - annotation
c1b2840961f0
1.8 KiB
text/plain
Hacking thermostatic mode into operation. This code needs some love.
667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f b61e1f4d75c5 667b32311f8f b61e1f4d75c5 667b32311f8f b61e1f4d75c5 667b32311f8f 667b32311f8f 667b32311f8f b61e1f4d75c5 b61e1f4d75c5 b61e1f4d75c5 667b32311f8f b61e1f4d75c5 b61e1f4d75c5 b61e1f4d75c5 b61e1f4d75c5 b61e1f4d75c5 b61e1f4d75c5 b61e1f4d75c5 667b32311f8f b61e1f4d75c5 b61e1f4d75c5 b61e1f4d75c5 b61e1f4d75c5 b61e1f4d75c5 b61e1f4d75c5 b61e1f4d75c5 667b32311f8f b61e1f4d75c5 b61e1f4d75c5 b61e1f4d75c5 b61e1f4d75c5 b61e1f4d75c5 667b32311f8f b61e1f4d75c5 667b32311f8f b61e1f4d75c5 667b32311f8f b61e1f4d75c5 b61e1f4d75c5 667b32311f8f 667b32311f8f 667b32311f8f b61e1f4d75c5 667b32311f8f | //
// System: initialize core system peripherals
//
#include "stm32f3xx_hal.h"
// Configure and start system clocks
void sysclock_init(void)
{
__SYSCFG_CLK_ENABLE();
HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
RCC_OscInitTypeDef RCC_OscInitStruct;
RCC_ClkInitTypeDef RCC_ClkInitStruct;
RCC_PeriphCLKInitTypeDef PeriphClkInit;
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL3;
HAL_RCC_OscConfig(&RCC_OscInitStruct);
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_DIV2;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);
PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USB|RCC_PERIPHCLK_ADC1|RCC_PERIPHCLK_TIM17;
PeriphClkInit.USBClockSelection = RCC_USBPLLCLK_DIV1;
PeriphClkInit.Adc1ClockSelection = RCC_ADC1PLLCLK_DIV1;
PeriphClkInit.Tim17ClockSelection = RCC_TIM17CLK_HCLK;
HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit);
HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
/* SysTick_IRQn interrupt configuration */
HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
__DMA1_CLK_ENABLE();
}
|