打印
[其他ST产品]

STM32F4之TIMER定时器

[复制链接]
671|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ead5ah|  楼主 | 2023-8-20 23:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
STM32定时器区别



时定器,复引用脚,功能,有着对应关系

例,void TIM5_Init(unsigned short arr,unsigned short psc)



使用特权

评论回复
沙发
ead5ah|  楼主 | 2023-8-20 23:21 | 只看该作者
定时器初始化配置
//1、时钟使能
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5,ENABLE);

//2、定时器初始化配置 配置定时间隔
TIM_TimeBaseInitTypeDef  TIM_TimeBaseInitStructure;

TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;     //时钟分频因子
TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上计数模式
TIM_TimeBaseInitStructure.TIM_Period = arr;  //自动重装载值
TIM_TimeBaseInitStructure.TIM_Prescaler=psc; //定时器分频
TIM_TimeBaseInit(TIM5,&TIM_TimeBaseInitStructure);    //初始化TIM5

使用特权

评论回复
板凳
ead5ah|  楼主 | 2023-8-20 23:23 | 只看该作者
PWM 脉冲输出配置
1)引脚初始化配置
//1)引脚初始化配置
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);      //GPIOx 时钟使能
GPIO_PinAFConfig(GPIOA,GPIO_PinSource0,GPIO_AF_TIM5);     //GPIOx_x复用为定时器x

GPIO_InitTypeDef     GPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin     = GPIO_Pin_0;           //GPIOA_x
GPIO_InitStructure.GPIO_Mode    = GPIO_Mode_AF;         //复用功能
GPIO_InitStructure.GPIO_Speed   = GPIO_Speed_100MHz;    //速度100MHz
GPIO_InitStructure.GPIO_OType   = GPIO_OType_PP;        //推挽复用输出
GPIO_InitStructure.GPIO_PuPd    = GPIO_PuPd_UP;         //上拉
GPIO_Init(GPIOA, &GPIO_InitStructure);

使用特权

评论回复
地板
ead5ah|  楼主 | 2023-8-20 23:24 | 只看该作者
定时器模式初始化配置 PWM模式
//2)定时器模式初始化配置 PWM模式

TIM_OCInitTypeDef      TIM_OCInitStructure;
//初始化TIMx Channelx PWM模式
TIM_OCInitStructure.TIM_OCMode     = TIM_OCMode_PWM1;  //选择定时器模式:TIM脉冲宽度调制模式1
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比较输出使能
TIM_OCInitStructure.TIM_Pulse = (arr+1)*0.5;  //CCR 设置占空比
TIM_OCInitStructure.TIM_OCPolarity     = TIM_OCPolarity_Low;//输出极性:TIM输出比较极性低
TIM_OC1Init(TIM5, &TIM_OCInitStructure);//根据T指定的参数初始化外设TIMx OC1

TIM_OC1PreloadConfig(TIM5, TIM_OCPreload_Enable);  //使能TIMx在CCR2上的预装载寄存器
TIM_ARRPreloadConfig(TIM5, ENABLE);//ARPE使能

使用特权

评论回复
5
ead5ah|  楼主 | 2023-8-20 23:25 | 只看该作者
中断优先级初始化
若需要使用定时器中断函数,则进行 中断优先级初始化配置

NVIC_InitTypeDef  NVIC_InitStructure;
/* 设置中断管理 */
NVIC_InitStructure.NVIC_IRQChannel=TIM5_IRQn; //定时器5中断
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x01;     //抢占优先级1
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x03;         //子优先级3
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);  

TIM_ITConfig(TIM5,TIM_IT_Update,ENABLE);//使能TIM5的更新中断

使用特权

评论回复
6
ead5ah|  楼主 | 2023-8-20 23:26 | 只看该作者
使能定时器
TIM_Cmd(TIM5,ENABLE); //使能定时器

使用特权

评论回复
7
ead5ah|  楼主 | 2023-8-20 23:27 | 只看该作者
定时器中断服务函数
若需要使用定时器中断函数,则添加 定时器中断服务函数

void TIM5_IRQHandler(void)
{
        if(TIM_GetITStatus(TIM5, TIM_IT_Update) == SET)
        {
        //DO
        }
        TIM_ClearITPendingBit(TIM5, TIM_IT_Update);
}

使用特权

评论回复
8
ead5ah|  楼主 | 2023-8-20 23:27 | 只看该作者
初始化定时器参数
TIM5_Init(100-1,840-1); //1ms

使用特权

评论回复
9
Uriah| | 2024-1-15 12:28 | 只看该作者

使用特权

评论回复
10
Clyde011| | 2024-1-15 12:38 | 只看该作者

使用特权

评论回复
11
公羊子丹| | 2024-5-16 09:17 | 只看该作者

环氧树脂由于硬度的原因不能用于应力敏感和含有贴片元件的模块灌封,在模块电源中基本被淘汰

使用特权

评论回复
12
万图| | 2024-5-16 10:20 | 只看该作者

直至电感器饱和,使开关器件烧毁。好的元器件就到唯样商城。图中的D3与N3构成的磁通复位电路,提供了泄放多余磁能的渠道

使用特权

评论回复
13
帛灿灿| | 2024-5-16 13:19 | 只看该作者

测试参数包括电源的输出电压、输出电流、负载能力、压降、效率和输出波形

使用特权

评论回复
14
周半梅| | 2024-5-16 16:18 | 只看该作者

正激:脉冲变压器的原/副边相位关系

使用特权

评论回复
15
童雨竹| | 2024-5-16 19:17 | 只看该作者

大于1的定义为极高导热的性能,而对于模块电源此水平的导热系数是无法达到其散热功能的需求

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

88

帖子

1

粉丝