本文整理汇总了C++中HAL_TIM_Base_Init函数的典型用法代码示例。如果您正苦于以下问题:C++ HAL_TIM_Base_Init函数的具体用法?C++ HAL_TIM_Base_Init怎么用?C++ HAL_TIM_Base_Init使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了HAL_TIM_Base_Init函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: TIM_Config
/**
* @brief TIM configuration
* @param None
* @retval None
*/
static void TIM_Config(void)
{
TIM_MasterConfigTypeDef sMasterConfig;
/* Time Base configuration */
htim.Instance = TIMx;
htim.Init.Period = 3600;
htim.Init.Prescaler = 0;
htim.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim.Init.CounterMode = TIM_COUNTERMODE_UP;
htim.Init.RepetitionCounter = 0x0;
if (HAL_TIM_Base_Init(&htim) != HAL_OK)
{
/* Timer Initiliazation Error */
Error_Handler();
}
/* Timer TRGO selection */
sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
if (HAL_TIMEx_MasterConfigSynchronization(&htim, &sMasterConfig) != HAL_OK)
{
/* Timer TRGO selection Error */
Error_Handler();
}
}
开发者ID:afconsult-south,项目名称:dragonfly-fcb,代码行数:34,代码来源:main.c
示例2: SC_TIM3_Init
/* TIM3 init function */
void SC_TIM3_Init(SERVO_CONTROLLER_Frequency frequency)
{
TIM_ClockConfigTypeDef sClockSourceConfig;
TIM_MasterConfigTypeDef sMasterConfig;
TIM_OC_InitTypeDef sConfigOC;
htim3.Instance = TIM3;
htim3.Init.Prescaler = CORE_FCLK / TIM_FCLK - 1;
htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
htim3.Init.Period = (uint16_t)(TIM_FCLK / frequency); //should not exceed 0xFFFF
htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
HAL_TIM_Base_Init(&htim3);
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig);
HAL_TIM_PWM_Init(&htim3);
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig);
sConfigOC.OCMode = TIM_OCMODE_PWM1;
sConfigOC.Pulse = 0;
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_1);
HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_2);
HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_3);
}
开发者ID:itsergeyla,项目名称:Quadruped,代码行数:35,代码来源:ServoController.c
示例3: MX_TIM2_Init
/* TIM2 init function */
void MX_TIM2_Init(void)
{
TIM_ClockConfigTypeDef sClockSourceConfig;
TIM_MasterConfigTypeDef sMasterConfig;
htim2.Instance = TIM2;
htim2.Init.Prescaler = 1;
htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
htim2.Init.Period = 875;
htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim2.Init.RepetitionCounter = 0;
HAL_TIM_Base_Init(&htim2);
// Initialize interrupt triggering
// HAL_NVIC_EnableIRQ(TIM2_IRQn);
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig);
sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig);
if (HAL_TIM_Base_Start_IT(&htim2) != HAL_OK) {
while(1);
}
}
开发者ID:mondaugen,项目名称:stm32-analogue-io-timer,代码行数:28,代码来源:main.c
示例4: time2_init
void time2_init(void)
{
TIM_ClockConfigTypeDef sClockSourceConfig;
// GPIO_InitTypeDef GPIO_InitStruct;
htim2.Instance = TIM2;
htim2.Init.Prescaler = 84 - 1; //1us
htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
htim2.Init.Period = 1000-1; //10us
htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim2.Init.RepetitionCounter = 0;
HAL_TIM_Base_Init(&htim2);
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig);
#if 0
/* GPIO Ports Clock Enable */
__GPIOC_CLK_ENABLE();
GPIO_InitStruct.Pin = GPIO_PIN_0;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
#endif
}
开发者ID:glocklueng,项目名称:stm32f407_aoa,代码行数:30,代码来源:time.c
示例5: startPerEvent
/* --- Load and start periodic event counter --- */
void startPerEvent(uint32_t rateFactor)
{
htim2.Init.Period = rateFactor;
HAL_TIM_Base_Init(&htim2);
HAL_TIM_Base_Start_IT(&htim2);
}
开发者ID:OUWECAD,项目名称:MOWE,代码行数:8,代码来源:aos.c
示例6: MX_TIM2_Init
/* TIM2 init function */
static void MX_TIM2_Init(void)
{
TIM_ClockConfigTypeDef sClockSourceConfig;
TIM_MasterConfigTypeDef sMasterConfig;
htim2.Instance = TIM2;
htim2.Init.Prescaler = 84;
htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
htim2.Init.Period = 1000000;
htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
if (HAL_TIM_Base_Init(&htim2) != HAL_OK)
{
Error_Handler();
}
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK)
{
Error_Handler();
}
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)
{
Error_Handler();
}
}
开发者ID:FunkyFlier,项目名称:HAL_UART_IT,代码行数:31,代码来源:main.c
示例7: Timer_For_Main_Loop_Init
void Timer_For_Main_Loop_Init()
{
__TIM6_CLK_ENABLE();
/* Compute the prescaler value to have TIMx counter clock equal to 1 KHz */
uwPrescalerValue = (uint32_t) ((SystemCoreClock / 1000) - 1);
/*##-1- Configure the TIM peripheral #######################################*/
/* Set TIMx instance */
TimHandle.Instance = TIM6;
/* Initialize TIMx peripheral as follow:
+ Period = 10000 - 1
+ Prescaler = SystemCoreClock/10000 Note that APB clock = TIMx clock if
APB prescaler = 1.
+ ClockDivision = 0
+ Counter direction = Up
*/
TimHandle.Init.Period = 10000 - 1;
TimHandle.Init.Prescaler = uwPrescalerValue;
TimHandle.Init.ClockDivision = 0;
TimHandle.Init.CounterMode = TIM_COUNTERMODE_UP;
HAL_TIM_Base_Init(&TimHandle);
/*##-2- Start the TIM Base generation in interrupt mode ####################*/
/* Start Channel1 */
HAL_TIM_Base_Start_IT(&TimHandle);
HAL_NVIC_EnableIRQ(TIM6_IRQn);
}
开发者ID:spoyler,项目名称:gps,代码行数:28,代码来源:watchdog.c
示例8: MX_TIM4_Init
/* TIM4 init function */
void MX_TIM4_Init(void)
{
TIM_SlaveConfigTypeDef sSlaveConfig;
TIM_MasterConfigTypeDef sMasterConfig;
TIM_OC_InitTypeDef sConfigOC;
htim4.Instance = TIM4;
htim4.Init.Prescaler = 0;
htim4.Init.CounterMode = TIM_COUNTERMODE_UP;
htim4.Init.Period = 0;
htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
HAL_TIM_Base_Init(&htim4);
HAL_TIM_PWM_Init(&htim4);
HAL_TIM_OnePulse_Init(&htim4, TIM_OPMODE_SINGLE);
sSlaveConfig.SlaveMode = TIM_SLAVEMODE_EXTERNAL1;
sSlaveConfig.InputTrigger = TIM_TS_ITR0;
HAL_TIM_SlaveConfigSynchronization(&htim4, &sSlaveConfig);
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig);
sConfigOC.OCMode = TIM_OCMODE_PWM1;
sConfigOC.Pulse = 0;
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_1);
HAL_TIM_MspPostInit(&htim4);
}
开发者ID:prime5711,项目名称:STM32F4_Example,代码行数:35,代码来源:tim.c
示例9: TIMx_BUZZER_Init
/**
* @brief Initialization
*/
void TIMx_BUZZER_Init() {
globalBuzzerTick = 0;
/* Configure timer */
BuzzerTimHandle.Instance = TIMx_BUZZER;
BuzzerTimHandle.Init.Prescaler = 0; // (84 Mhz)
BuzzerTimHandle.Init.CounterMode = TIM_COUNTERMODE_UP;
BuzzerTimHandle.Init.Period = TIMx_BUZZER_PERIOD - 1;
BuzzerTimHandle.Init.ClockDivision = 0;
if (HAL_TIM_Base_Init(&BuzzerTimHandle) != HAL_OK) {
//Error
}
GPIO_InitTypeDef GPIO_Init;
// Enable peripheral clock
BUZZER_CLK_ENABLE();
GPIO_Init.Pin = BUZZER_PIN;
GPIO_Init.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_Init.Pull = GPIO_PULLUP;
GPIO_Init.Speed = GPIO_SPEED_FAST;
HAL_GPIO_Init(BUZZER_PORT, &GPIO_Init);
HAL_GPIO_WritePin(BUZZER_PORT, BUZZER_PIN, GPIO_PIN_RESET);
}
开发者ID:giovadifiore,项目名称:iot-home-automation,代码行数:30,代码来源:stm32f4xx_helper_buzzer.c
示例10: MX_TIM3_Init
/* TIM3 init function */
void MX_TIM3_Init(void)
{
TIM_ClockConfigTypeDef sClockSourceConfig;
TIM_MasterConfigTypeDef sMasterConfig;
TIM_IC_InitTypeDef sConfigIC;
htim3.Instance = TIM3;
htim3.Init.Prescaler = 71;
htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
htim3.Init.Period = 0xffff;
htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
HAL_TIM_Base_Init(&htim3);
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig);
HAL_TIM_IC_Init(&htim3);
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig);
sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_FALLING;
sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI;
sConfigIC.ICPrescaler = TIM_ICPSC_DIV1;
sConfigIC.ICFilter = 0;
HAL_TIM_IC_ConfigChannel(&htim3, &sConfigIC, TIM_CHANNEL_4);
}
开发者ID:yusp75,项目名称:pellet-stove-control,代码行数:30,代码来源:tim.c
示例11: TIM_Config
/**
* @brief TIM configuration
* @param None
* @retval None
*/
static void TIM_Config(void)
{
TIM_MasterConfigTypeDef master_timer_config;
RCC_ClkInitTypeDef clk_init_struct = {0}; /* Temporary variable to retrieve RCC clock configuration */
uint32_t latency; /* Temporary variable to retrieve Flash Latency */
uint32_t timer_clock_frequency = 0; /* Timer clock frequency */
// uint32_t timer_prescaler = 0; /* Time base prescaler to have timebase aligned on minimum frequency possible */
uint32_t timer_prescaler = 10;
/* Configuration of timer as time base: */
/* Caution: Computation of frequency is done for a timer instance on APB1 */
/* (clocked by PCLK1) */
/* Timer period can be adjusted by modifying the following constants: */
/* - TIMER_FREQUENCY: timer frequency (unit: Hz). */
/* - TIMER_FREQUENCY_RANGE_MIN: timer minimum frequency (unit: Hz). */
/* Retrieve timer clock source frequency */
HAL_RCC_GetClockConfig(&clk_init_struct, &latency);
/* If APB1 prescaler is different of 1, timers have a factor x2 on their */
/* clock source. */
if (clk_init_struct.APB1CLKDivider == RCC_HCLK_DIV1)
{
timer_clock_frequency = HAL_RCC_GetPCLK1Freq();
}
else
{
timer_clock_frequency = HAL_RCC_GetPCLK1Freq() *2;
}
/* Timer prescaler calculation */
/* (computation for timer 16 bits, additional + 1 to round the prescaler up) */
timer_prescaler = (timer_clock_frequency / (TIMER_PRESCALER_MAX_VALUE * TIMER_FREQUENCY_RANGE_MIN)) +1;
/* Set timer instance */
TimHandle.Instance = TIMx;
/* Configure timer parameters */
TimHandle.Init.Period = ((timer_clock_frequency / (timer_prescaler * TIMER_FREQUENCY)) - 1);
TimHandle.Init.Prescaler = (timer_prescaler - 1);
TimHandle.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
TimHandle.Init.CounterMode = TIM_COUNTERMODE_UP;
TimHandle.Init.RepetitionCounter = 0x0;
if (HAL_TIM_Base_Init(&TimHandle) != HAL_OK)
{
/* Timer initialization Error */
Error_Handler();
}
/* Timer TRGO selection */
master_timer_config.MasterOutputTrigger = TIM_TRGO_UPDATE;
master_timer_config.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
if (HAL_TIMEx_MasterConfigSynchronization(&TimHandle, &master_timer_config) != HAL_OK)
{
/* Timer TRGO selection Error */
Error_Handler();
}
}
开发者ID:salinraj,项目名称:NIBP,代码行数:65,代码来源:AdcRead.c
示例12: us_ticker_init
void us_ticker_init(void)
{
if (us_ticker_inited) return;
us_ticker_inited = 1;
// Enable timer clock
TIM_MST_RCC;
// Configure time base
TimMasterHandle.Instance = TIM_MST;
TimMasterHandle.Init.Period = 0xFFFF;
TimMasterHandle.Init.Prescaler = (uint32_t)(SystemCoreClock / 1000000) - 1; // 1 �s tick
TimMasterHandle.Init.ClockDivision = 0;
TimMasterHandle.Init.CounterMode = TIM_COUNTERMODE_UP;
HAL_TIM_Base_Init(&TimMasterHandle);
// Configure interrupts
__HAL_TIM_ENABLE_IT(&TimMasterHandle, TIM_IT_UPDATE);
// Update interrupt used for 32-bit counter
NVIC_SetVector(TIM_MST_UP_IRQ, (uint32_t)tim_update_irq_handler);
NVIC_EnableIRQ(TIM_MST_UP_IRQ);
// Output compare interrupt used for timeout feature
NVIC_SetVector(TIM_MST_OC_IRQ, (uint32_t)tim_oc_irq_handler);
NVIC_EnableIRQ(TIM_MST_OC_IRQ);
// Enable timer
HAL_TIM_Base_Start(&TimMasterHandle);
}
开发者ID:ban4jp,项目名称:mbed,代码行数:31,代码来源:us_ticker.c
示例13: MX_TIM9_Init
/* TIM9 init function */
void MX_TIM9_Init(void)
{
TIM_ClockConfigTypeDef sClockSourceConfig;
TIM_OC_InitTypeDef sConfigOC;
htim9.Instance = TIM9;
htim9.Init.Prescaler = 167;
htim9.Init.CounterMode = TIM_COUNTERMODE_UP;
htim9.Init.Period = 19999;
htim9.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
HAL_TIM_Base_Init(&htim9);
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
HAL_TIM_ConfigClockSource(&htim9, &sClockSourceConfig);
HAL_TIM_PWM_Init(&htim9);
sConfigOC.OCMode = TIM_OCMODE_PWM1;
sConfigOC.Pulse = 1500;
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
HAL_TIM_PWM_ConfigChannel(&htim9, &sConfigOC, TIM_CHANNEL_1);
HAL_TIM_PWM_ConfigChannel(&htim9, &sConfigOC, TIM_CHANNEL_2);
}
开发者ID:dokor,项目名称:RobotCarto,代码行数:27,代码来源:tim.c
示例14: TIM_Config
/**
* @brief TIM_Config: Configure TIMusb timer
* @param None.
* @retval None
*/
static void TIM_Config(void)
{
/* Set TIMusb instance */
TimHandle.Instance = TIMusb;
/* Initialize TIMx peripheral as follow:
+ Period = 10000 - 1
+ Prescaler = ((SystemCoreClock/2)/10000) - 1
+ ClockDivision = 0
+ Counter direction = Up
*/
TimHandle.Init.Period = (CDC_POLLING_INTERVAL*1000) - 1;
TimHandle.Init.Prescaler = 84-1;
TimHandle.Init.ClockDivision = 0;
TimHandle.Init.CounterMode = TIM_COUNTERMODE_UP;
if(HAL_TIM_Base_Init(&TimHandle) != HAL_OK)
{
/* Initialization Error */
Error_Handler();
}
/*##-6- Enable TIM peripherals Clock #######################################*/
TIMx_CLK_ENABLE();
/*##-7- Configure the NVIC for TIMx ########################################*/
/* Set Interrupt Group Priority */
HAL_NVIC_SetPriority(TIMx_IRQn, 6, 0);
/* Enable the TIMx global Interrupt */
HAL_NVIC_EnableIRQ(TIMx_IRQn);
}
开发者ID:mmiers,项目名称:betaflight,代码行数:36,代码来源:usbd_cdc_interface.c
示例15: MX_TIM2_Init
/* TIM2 init function */
void MX_TIM2_Init(void)
{
TIM_ClockConfigTypeDef sClockSourceConfig;
TIM_MasterConfigTypeDef sMasterConfig;
TIM_OC_InitTypeDef sConfigOC;
htim2.Instance = TIM2;
htim2.Init.Prescaler = 0;
htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
htim2.Init.Period = 47;
htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
HAL_TIM_Base_Init(&htim2);
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig);
HAL_TIM_PWM_Init(&htim2);
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig);
sConfigOC.OCMode = TIM_OCMODE_PWM1;
sConfigOC.Pulse = 0;
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1);
HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_4);
HAL_TIM_MspPostInit(&htim2);
}
开发者ID:yingwang88,项目名称:StmSmoke,代码行数:35,代码来源:main.c
示例16: TIM6_Config
/**
* @brief TIM6 Configuration
* @note TIM6 configuration is based on APB1 frequency
* @note TIM6 Update event occurs each TIM6CLK/256
* @param None
* @retval None
*/
void TIM6_Config(void)
{
static TIM_HandleTypeDef htim;
TIM_MasterConfigTypeDef sMasterConfig;
/*##-1- Configure the TIM peripheral #######################################*/
/* Time base configuration */
htim.Instance = TIM6;
htim.Init.Period = 0x7FF;
htim.Init.Prescaler = 0;
htim.Init.ClockDivision = 0;
htim.Init.CounterMode = TIM_COUNTERMODE_UP;
htim.Init.RepetitionCounter = 0;
HAL_TIM_Base_Init(&htim);
/* TIM6 TRGO selection */
sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
HAL_TIMEx_MasterConfigSynchronization(&htim, &sMasterConfig);
/*##-2- Enable TIM peripheral counter ######################################*/
HAL_TIM_Base_Start(&htim);
}
开发者ID:Lembed,项目名称:STM32CubeF1-mirrors,代码行数:32,代码来源:main.c
示例17: MX_TIM1_Init
void MX_TIM1_Init(void) {
TIM_ClockConfigTypeDef sClockSourceConfig;
TIM_MasterConfigTypeDef sMasterConfig;
TIM_SlaveConfigTypeDef sSlaveConfig;
htim2.Instance = TIM2;
htim2.Init.Prescaler = 31999;
htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
htim2.Init.Period = 249;
htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
HAL_TIM_Base_Init(&htim2);
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig);
sSlaveConfig.SlaveMode = TIM_SLAVEMODE_TRIGGER;
sSlaveConfig.InputTrigger = TIM_TS_TI1FP1;
sSlaveConfig.TriggerPolarity = TIM_TRIGGERPOLARITY_RISING;
sSlaveConfig.TriggerFilter = 15;
HAL_TIM_SlaveConfigSynchronization(&htim2, &sSlaveConfig);
sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_ENABLE;
HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig);
}
开发者ID:moleculesynth,项目名称:mastering-stm32,代码行数:25,代码来源:main-ex5.c
示例18: HardwareTimer4_Init
/**
* @brief Initialize the hardware timer 4.
* @param None
* @retval None
*/
void HardwareTimer4_Init(void)
{
__TIM4_CLK_ENABLE(); /* Enable TIM4 interface clock */
/* Desired_timer_frequency = Timer_input_frequency / (prescaler * period)
Timer_input_frequency = 84 MHz (same as TIM3, TIM4 is also on APB1)
Desired_timer_frequency = 8 Hz (Rotate the LEDs at that frequency for the visuals)
---> prescaler * period = 84 MHz / 8 Hz = 10500000 = 2100 * 5000
---> prescaler = 5000, period = 2100 */
timmy4.Instance = TIM4; /* Use TIM4 */
timmy4.Init.Prescaler = 2100; /* Set prescaler to 2100 */
timmy4.Init.CounterMode = TIM_COUNTERMODE_DOWN; /* Count down */
timmy4.Init.Period = 5000; /* Set period count register to 5000 */
timmy4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; /* Set clock division to 1 */
timmy4.Init.RepetitionCounter = 0; /* Not valid for TIM4 */
timmy4.Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; /* Not using channels */
/* Initialize the TIM Time Base Unit */
HAL_TIM_Base_Init(&timmy4);
/* Start TIM3 in interrupt mode */
HAL_TIM_Base_Start_IT(&timmy4);
/* Set priority for TIM3 IRQ */
HAL_NVIC_SetPriority(TIM4_IRQn, 0, 0);
/* Enable IRQ for the TIM3 Timer*/
HAL_NVIC_EnableIRQ(TIM4_IRQn);
}
开发者ID:Lone-L,项目名称:MicroP_Labs,代码行数:35,代码来源:hardware_timer.c
示例19: MX_TIM10_Init
/* TIM10 init function */
void MX_TIM10_Init(void)
{
TIM_OC_InitTypeDef sConfigOC;
htim10.Instance = TIM10;
htim10.Init.Prescaler = 0;
htim10.Init.CounterMode = TIM_COUNTERMODE_UP;
htim10.Init.Period = 0;
htim10.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
if (HAL_TIM_Base_Init(&htim10) != HAL_OK)
{
Error_Handler();
}
if (HAL_TIM_PWM_Init(&htim10) != HAL_OK)
{
Error_Handler();
}
sConfigOC.OCMode = TIM_OCMODE_PWM1;
sConfigOC.Pulse = 0;
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
if (HAL_TIM_PWM_ConfigChannel(&htim10, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
{
Error_Handler();
}
HAL_TIM_MspPostInit(&htim10);
}
开发者ID:RoboSec,项目名称:rs_sensor_board,代码行数:32,代码来源:tim.c
示例20: DRV_Init
// Driver initialization code and Status Register settings
void DRV_Init(void) {
// Initiate receiver
DRV.RX.htim = &htim2;
DRV_RX_SetStatus(DRV_RX_STATUS_RESET);
#ifdef MAC_COORDINATOR
DRV.RX.SR.RLL = 0;
#else
DRV.RX.SR.RLL = 1;
#endif
// Initiate transmitter
DRV.TX.htim = &htim3;
DRV.TX.Send = DRV_TX_Buffer;
DRV_TX_SetStatus(DRV_TX_STATUS_RESET);
#ifdef MAC_COORDINATOR
DRV.TX.htim->Instance->PSC = 1;
DRV.TX.htim->Instance->EGR |= TIM_EGR_UG;
DRV.TX.SR.RLL = 1;
DRV.TX.SR.Visibility = 1;
DRV_TX_SetStatus(DRV_TX_STATUS_VISIBILITY);
#else
DRV.TX.htim->Instance->PSC = 19;
DRV.TX.htim->Instance->EGR |= TIM_EGR_UG;
DRV.TX.SR.RLL = 0;
DRV.TX.SR.Visibility = 0;
#endif
// Initialize IR output
TIM4->CCR1 = 2210;
HAL_TIM_Base_Init(&htim4);
HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_1);
}
开发者ID:adzil,项目名称:f446-softser,代码行数:32,代码来源:drv.c
注:本文中的HAL_TIM_Base_Init函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论