You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#include "apphal.hpp"
using namespace iflytop;
void AppHal::MX_TIM6_Init(void) { __HAL_RCC_TIM6_CLK_ENABLE();
TIM_MasterConfigTypeDef sMasterConfig = {0}; htim6.Instance = TIM6; htim6.Init.Prescaler = 71; htim6.Init.CounterMode = TIM_COUNTERMODE_UP; htim6.Init.Period = 65535; htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; if (HAL_TIM_Base_Init(&htim6) != HAL_OK) { Error_Handler(); } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK) { Error_Handler(); }
/* TIM6 interrupt Init */ HAL_NVIC_SetPriority(TIM6_DAC_IRQn, 5, 0); HAL_NVIC_EnableIRQ(TIM6_DAC_IRQn); } /* TIM7 init function */ void AppHal::MX_TIM7_Init(void) { __HAL_RCC_TIM7_CLK_ENABLE();
TIM_MasterConfigTypeDef sMasterConfig = {0}; htim7.Instance = TIM7; htim7.Init.Prescaler = 81; htim7.Init.CounterMode = TIM_COUNTERMODE_UP; htim7.Init.Period = 65535; htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; if (HAL_TIM_Base_Init(&htim7) != HAL_OK) { Error_Handler(); } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; if (HAL_TIMEx_MasterConfigSynchronization(&htim7, &sMasterConfig) != HAL_OK) { Error_Handler(); }
/* TIM7 interrupt Init */ HAL_NVIC_SetPriority(TIM7_IRQn, 5, 0); HAL_NVIC_EnableIRQ(TIM7_IRQn); }
#define EARLY_ASSERT(exptr) \
if (!(exptr)) { \ while (true) { \ } \ }
void AppHal::DEBUG_UART_INIT(Pin_t tx, Pin_t rx, int32_t baudrate) { GPIO_InitTypeDef GPIO_InitStruct = {0};
EARLY_ASSERT(PA9 == tx); EARLY_ASSERT(PA10 == rx);
/***********************************************************************************************************************
* IO初始化 * ***********************************************************************************************************************/ __HAL_RCC_USART1_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_DMA2_CLK_ENABLE();
GPIO_InitStruct.Pin = GPIO_PIN_9 | GPIO_PIN_10; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Alternate = GPIO_AF7_USART1; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
huart1.Instance = USART1; huart1.Init.BaudRate = baudrate; huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX; huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart1.Init.OverSampling = UART_OVERSAMPLING_16; if (HAL_UART_Init(&huart1) != HAL_OK) { Error_Handler(); }
/***********************************************************************************************************************
* DMA初始化 * ***********************************************************************************************************************/ HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 5, 0); HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn); hdma2_stream2.Instance = DMA2_Stream2; hdma2_stream2.Init.Channel = DMA_CHANNEL_4; hdma2_stream2.Init.Direction = DMA_PERIPH_TO_MEMORY; hdma2_stream2.Init.PeriphInc = DMA_PINC_DISABLE; hdma2_stream2.Init.MemInc = DMA_MINC_ENABLE; hdma2_stream2.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; hdma2_stream2.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; hdma2_stream2.Init.Mode = DMA_NORMAL; hdma2_stream2.Init.Priority = DMA_PRIORITY_LOW; hdma2_stream2.Init.FIFOMode = DMA_FIFOMODE_DISABLE; if (HAL_DMA_Init(&hdma2_stream2) != HAL_OK) { Error_Handler(); }
__HAL_LINKDMA(&huart1, hdmarx, hdma2_stream2); HAL_NVIC_SetPriority(USART1_IRQn, 5, 0); HAL_NVIC_EnableIRQ(USART1_IRQn); }
void AppHal::MX_IWDG_Init(void) { hiwdg.Instance = IWDG; hiwdg.Init.Prescaler = IWDG_PRESCALER_64; hiwdg.Init.Reload = 4095; if (HAL_IWDG_Init(&hiwdg) != HAL_OK) { Error_Handler(); } }
|