新手入门
- 积分
- 13
- 金钱
- 13
- 注册时间
- 2020-10-12
- 在线时间
- 2 小时
|
#include "stm32f1xx_hal.h"
#include "timer.h"
#include "sys.h"
#include "delay.h"
extern TIM_HandleTypeDef TEMER3_Handler;
void Error_Handler(void);
void timer3_config(void)
{
TIM_OC_InitTypeDef sConfiguration;
TIM_MasterConfigTypeDef sMasterConfig;
// TIM_ClockConfigTypeDef TIM_ClockConfig;
HAL_TIM_OC_DeInit(&TEMER3_Handler);
TEMER3_Handler.Instance=TIM3;
TEMER3_Handler.Init.ClockDivision=TIM_CLOCKDIVISION_DIV1;
TEMER3_Handler.Init.CounterMode=TIM_COUNTERMODE_UP;
TEMER3_Handler.Init.Period=0xffff;
TEMER3_Handler.Init.Prescaler=0x8C9F;
TEMER3_Handler.Init.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_DISABLE;
HAL_TIM_OC_Init(&TEMER3_Handler);
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
if (HAL_TIMEx_MasterConfigSynchronization(&TEMER3_Handler, &sMasterConfig) != HAL_OK)
{
Error_Handler();
}
sConfiguration.OCMode=TIM_OCMODE_FORCED_ACTIVE;
sConfiguration.Pulse=0;
sConfiguration.OCPolarity=TIM_OCPOLARITY_LOW;
sConfiguration.OCFastMode = TIM_OCFAST_DISABLE;
HAL_TIM_OC_ConfigChannel(&TEMER3_Handler, &sConfiguration, TIM_CHANNEL_2);
HAL_TIM_OC_Start(&TEMER3_Handler,TIM_CHANNEL_2);
}
void HAL_TIM_OC_MspInit(TIM_HandleTypeDef *htim)
{
GPIO_InitTypeDef GPIO_Initsture;
__HAL_RCC_TIM3_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_AFIO_CLK_ENABLE();
__HAL_AFIO_REMAP_TIM3_PARTIAL();
if(htim->Instance==TIM3)
{
GPIO_Initsture.Pin=GPIO_PIN_5;
GPIO_Initsture.Mode=GPIO_MODE_AF_PP;
GPIO_Initsture.Speed=GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOB,&GPIO_Initsture);
}
}
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler */
/* User can add his own implementation to report the HAL error return state */
while(1)
{
}
/* USER CODE END Error_Handler */
}
|
|