Browse Source

Formatting AND RCC clocks enable ALL clocks ALL the time!

makefile_for_cmsis
heck 2 years ago
parent
commit
9bfee7bcd5
  1. 251
      src/main.c

251
src/main.c

@ -13,13 +13,53 @@ RNG_HandleTypeDef hrng;
extern PCD_HandleTypeDef hpcd_USB_OTG_FS;
void SystemClock_Config(void) {
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = { 0 };
RCC_ClkInitTypeDef RCC_ClkInitStruct = { 0 };
/** Configure the main internal regulator output voltage
*/
// Enable ALL the clocks
__HAL_RCC_SYSCFG_CLK_ENABLE();
__HAL_RCC_PWR_CLK_ENABLE();
// ALL GPIO Ports
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOD_CLK_ENABLE();
__HAL_RCC_GPIOE_CLK_ENABLE();
__HAL_RCC_GPIOF_CLK_ENABLE();
__HAL_RCC_GPIOG_CLK_ENABLE();
__HAL_RCC_GPIOH_CLK_ENABLE();
// ALL Timers
__HAL_RCC_TIM1_CLK_ENABLE();
__HAL_RCC_TIM2_CLK_ENABLE();
__HAL_RCC_TIM3_CLK_ENABLE();
__HAL_RCC_TIM4_CLK_ENABLE();
__HAL_RCC_TIM5_CLK_ENABLE();
__HAL_RCC_TIM6_CLK_ENABLE();
__HAL_RCC_TIM7_CLK_ENABLE();
__HAL_RCC_TIM8_CLK_ENABLE();
__HAL_RCC_TIM9_CLK_ENABLE();
__HAL_RCC_TIM10_CLK_ENABLE();
__HAL_RCC_TIM11_CLK_ENABLE();
__HAL_RCC_TIM12_CLK_ENABLE();
__HAL_RCC_TIM13_CLK_ENABLE();
__HAL_RCC_TIM14_CLK_ENABLE();
// ALL DMA Controllers
__HAL_RCC_DMA1_CLK_ENABLE();
__HAL_RCC_DMA2_CLK_ENABLE();
// The DAC
__HAL_RCC_DAC_CLK_ENABLE();
// The RNG
__HAL_RCC_RNG_CLK_ENABLE();
// Configure the main internal regulator output voltage
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
/** Initializes the RCC Oscillators according to the specified parameters
@ -39,8 +79,8 @@ void SystemClock_Config(void) {
/** 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.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;
@ -55,35 +95,35 @@ void SystemClock_Config(void) {
// Exception and Interrupt handler
// --------------------------------------------------------------------------------------------------
void NMI_Handler(void) {
while (1) {
}
void NMI_Handler(void)
{
while (1) {}
}
void HardFault_Handler(void) {
while (1) {
}
void HardFault_Handler(void)
{
while (1) {}
}
void MemManage_Handler(void) {
while (1) {
}
void MemManage_Handler(void)
{
while (1) {}
}
void BusFault_Handler(void) {
while (1) {
}
void BusFault_Handler(void)
{
while (1) {}
}
void UsageFault_Handler(void) {
while (1) {
}
void UsageFault_Handler(void)
{
while (1) {}
}
void DebugMon_Handler(void) {
}
void DebugMon_Handler(void) {}
void SysTick_Handler(void) {
void SysTick_Handler(void)
{
HAL_IncTick();
#if (INCLUDE_xTaskGetSchedulerState == 1)
if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) {
@ -95,24 +135,28 @@ void SysTick_Handler(void) {
}
void EXTI0_IRQHandler(void) {
HAL_GPIO_EXTI_IRQHandler(BUT_BLUE_Pin);
void EXTI0_IRQHandler(void)
{
HAL_GPIO_EXTI_IRQHandler(BUT_BLUE_GPIO_PIN);
}
void DMA1_Stream5_IRQHandler(void) {
void DMA1_Stream5_IRQHandler(void)
{
HAL_DMA_IRQHandler(&hdma_dac1);
}
void TIM2_IRQHandler(void) {
void TIM2_IRQHandler(void)
{
HAL_TIM_IRQHandler(&htim2);
}
void TIM7_IRQHandler(void) {
void TIM7_IRQHandler(void)
{
HAL_TIM_IRQHandler(&htim7);
}
void OTG_FS_IRQHandler(void) {
void OTG_FS_IRQHandler(void)
{
HAL_PCD_IRQHandler(&hpcd_USB_OTG_FS);
}
@ -121,30 +165,30 @@ void OTG_FS_IRQHandler(void) {
// Peripheral init
// --------------------------------------------------------------------------------------------------
void MX_GPIO_Init(void) {
GPIO_InitTypeDef GPIO_InitStruct = {0};
void MX_GPIO_Init(void)
{
HAL_GPIO_WritePin(LED_GREEN_GPIO_PORT, LED_GREEN_GPIO_PIN, GPIO_PIN_RESET);
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOH_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOD_CLK_ENABLE();
{
GPIO_InitTypeDef GPIO_InitStruct;
memset(&GPIO_InitStruct, 0, sizeof GPIO_InitStruct);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(LED_GREEN_GPIO_Port, LED_GREEN_Pin, GPIO_PIN_RESET);
GPIO_InitStruct.Pin = BUT_BLUE_GPIO_PIN;
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(BUT_BLUE_GPIO_PORT, &GPIO_InitStruct);
}
/*Configure GPIO pin : PtPin */
GPIO_InitStruct.Pin = BUT_BLUE_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(BUT_BLUE_GPIO_Port, &GPIO_InitStruct);
{
GPIO_InitTypeDef GPIO_InitStruct;
memset(&GPIO_InitStruct, 0, sizeof GPIO_InitStruct);
/*Configure GPIO pin : PtPin */
GPIO_InitStruct.Pin = LED_GREEN_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(LED_GREEN_GPIO_Port, &GPIO_InitStruct);
GPIO_InitStruct.Pin = LED_GREEN_GPIO_PIN;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(LED_GREEN_GPIO_PORT, &GPIO_InitStruct);
}
/* EXTI interrupt init*/
HAL_NVIC_SetPriority(EXTI0_IRQn, 5, 0);
@ -156,8 +200,9 @@ void MX_GPIO_Init(void) {
// Peripheral init
// --------------------------------------------------------------------------------------------------
void MX_DAC_Init(void) {
DAC_ChannelConfTypeDef sConfig = {0};
void MX_DAC_Init(void)
{
DAC_ChannelConfTypeDef sConfig = { 0 };
hdac_global.Instance = DAC;
if (HAL_DAC_Init(&hdac_global) != HAL_OK) {
Error_Handler();
@ -177,13 +222,11 @@ void MX_DAC_Init(void) {
}
}
void HAL_DAC_MspInit(DAC_HandleTypeDef *dacHandle) {
GPIO_InitTypeDef GPIO_InitStruct = {0};
void HAL_DAC_MspInit(DAC_HandleTypeDef *dacHandle)
{
GPIO_InitTypeDef GPIO_InitStruct = { 0 };
if (dacHandle->Instance == DAC) {
/* DAC clock enable */
__HAL_RCC_DAC_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
/**DAC GPIO Configuration
PA4 ------> DAC_OUT1
PA5 ------> DAC_OUT2
@ -213,14 +256,10 @@ void HAL_DAC_MspInit(DAC_HandleTypeDef *dacHandle) {
}
}
void HAL_DAC_MspDeInit(DAC_HandleTypeDef *dacHandle) {
void HAL_DAC_MspDeInit(DAC_HandleTypeDef *dacHandle)
{
if (dacHandle->Instance == DAC) {
__HAL_RCC_DAC_CLK_DISABLE();
// DAC GPIO Configuration
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_4 | GPIO_PIN_5);
/* DAC DMA DeInit */
HAL_DMA_DeInit(dacHandle->DMA_Handle1);
}
}
@ -230,8 +269,9 @@ void HAL_DAC_MspDeInit(DAC_HandleTypeDef *dacHandle) {
// Peripheral init
// --------------------------------------------------------------------------------------------------
void MX_DMA_Init(void) {
__HAL_RCC_DMA1_CLK_ENABLE();
void MX_DMA_Init(void)
{
/* DMA interrupt init */
/* DMA1_Stream5_IRQn interrupt configuration */
@ -244,9 +284,10 @@ void MX_DMA_Init(void) {
// Timers
// --------------------------------------------------------------------------------------------------
void MX_TIM2_Init(void) {
TIM_ClockConfigTypeDef sClockSourceConfig = {0};
TIM_MasterConfigTypeDef sMasterConfig = {0};
void MX_TIM2_Init(void)
{
TIM_ClockConfigTypeDef sClockSourceConfig = { 0 };
TIM_MasterConfigTypeDef sMasterConfig = { 0 };
htim2.Instance = TIM2;
htim2.Init.Prescaler = 0;
@ -268,8 +309,9 @@ void MX_TIM2_Init(void) {
}
}
void MX_TIM6_Init(void) {
TIM_MasterConfigTypeDef sMasterConfig = {0};
void MX_TIM6_Init(void)
{
TIM_MasterConfigTypeDef sMasterConfig = { 0 };
htim6.Instance = TIM6;
htim6.Init.Prescaler = 0;
@ -286,8 +328,9 @@ void MX_TIM6_Init(void) {
}
}
void MX_TIM7_Init(void) {
TIM_MasterConfigTypeDef sMasterConfig = {0};
void MX_TIM7_Init(void)
{
TIM_MasterConfigTypeDef sMasterConfig = { 0 };
htim7.Instance = TIM7;
htim7.Init.Prescaler = 10000;
@ -304,17 +347,14 @@ void MX_TIM7_Init(void) {
}
}
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *tim_baseHandle) {
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *tim_baseHandle)
{
if (tim_baseHandle->Instance == TIM2) {
__HAL_RCC_TIM2_CLK_ENABLE();
/* TIM2 interrupt Init */
HAL_NVIC_SetPriority(TIM2_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(TIM2_IRQn);
} else if (tim_baseHandle->Instance == TIM6) {
__HAL_RCC_TIM6_CLK_ENABLE();
} else if (tim_baseHandle->Instance == TIM7) {
__HAL_RCC_TIM7_CLK_ENABLE();
/* TIM7 interrupt Init */
HAL_NVIC_SetPriority(TIM7_IRQn, 5, 0);
@ -322,15 +362,12 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *tim_baseHandle) {
}
}
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef *tim_baseHandle) {
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef *tim_baseHandle)
{
if (tim_baseHandle->Instance == TIM2) {
__HAL_RCC_TIM2_CLK_DISABLE();
HAL_NVIC_DisableIRQ(TIM2_IRQn);
} else if (tim_baseHandle->Instance == TIM6) {
__HAL_RCC_TIM6_CLK_DISABLE();
} else if (tim_baseHandle->Instance == TIM7) {
__HAL_RCC_TIM7_CLK_DISABLE();
HAL_NVIC_DisableIRQ(TIM7_IRQn);
}
}
@ -340,34 +377,22 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef *tim_baseHandle) {
// Random Number Generator (RNG)
// --------------------------------------------------------------------------------------------------
void MX_RNG_Init(void) {
void MX_RNG_Init(void)
{
hrng.Instance = RNG;
if (HAL_RNG_Init(&hrng) != HAL_OK) {
Error_Handler();
}
}
void HAL_RNG_MspInit(RNG_HandleTypeDef *rngHandle) {
if (rngHandle->Instance == RNG) {
__HAL_RCC_RNG_CLK_ENABLE();
}
}
void HAL_RNG_MspDeInit(RNG_HandleTypeDef *rngHandle) {
if (rngHandle->Instance == RNG) {
__HAL_RCC_RNG_CLK_DISABLE();
}
}
void Error_Handler(void) {
void Error_Handler(void)
{
heck_error_handler();
__disable_irq();
while (1) {
}
while (1) {}
}
#ifdef USE_FULL_ASSERT
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
@ -377,29 +402,32 @@ void Error_Handler(void) {
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* User can add his own implementation to report the file name and line number,
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
}
#endif /* USE_FULL_ASSERT */
osThreadId_t defaultTaskHandle;
const osThreadAttr_t defaultTask_attributes = {
.name = "defaultTask",
.stack_size = 128 * 4,
.priority = (osPriority_t) osPriorityNormal,
.name = "defaultTask",
.stack_size = 128 * 4,
.priority = (osPriority_t)osPriorityNormal,
};
void StartDefaultTask(void *argument) {
void StartDefaultTask(void *argument)
{
MX_USB_DEVICE_Init();
heck_cppmain();
}
void MX_FREERTOS_Init(void) {
void MX_FREERTOS_Init(void)
{
defaultTaskHandle = osThreadNew(StartDefaultTask, NULL, &defaultTask_attributes);
}
int main(void) {
int main(void)
{
HAL_Init();
SystemClock_Config();
@ -416,9 +444,8 @@ int main(void) {
osKernelStart();
}
void HAL_MspInit(void) {
__HAL_RCC_SYSCFG_CLK_ENABLE();
__HAL_RCC_PWR_CLK_ENABLE();
void HAL_MspInit(void)
{
HAL_NVIC_SetPriority(PendSV_IRQn, 15, 0);
}

Loading…
Cancel
Save