野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9374|回复: 9

STM32F103高级定时器

[复制链接]
发表于 2019-5-16 14:51:17 | 显示全部楼层 |阅读模式

TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;

没这个还真不行啊

回复

使用道具 举报

发表于 2019-5-16 17:28:01 | 显示全部楼层
这就是用来记溢出次数再中断的吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-17 11:19:10 | 显示全部楼层
WishWish 发表于 2019-5-16 17:28
这就是用来记溢出次数再中断的吧

教程里得改下了,不然会误导人
回复 支持 反对

使用道具 举报

发表于 2019-5-17 11:22:04 | 显示全部楼层
ZSR20181017 发表于 2019-5-17 11:19
教程里得改下了,不然会误导人

可以说下具体哪页和哪里吗,谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-17 13:48:31 | 显示全部楼层
WishWish 发表于 2019-5-17 11:22
可以说下具体哪页和哪里吗,谢谢

零死角玩转stm32f103指南者pdf文档里面,高级定时器那里面,直接搜TIM_TimeBaseStructure.TIM_RepetitionCounter=0;这个应该很容易定位到,而且我发现用TIM1和TIM3的时候,还不一样
回复 支持 反对

使用道具 举报

发表于 2019-5-17 14:02:03 | 显示全部楼层
ZSR20181017 发表于 2019-5-17 13:48
零死角玩转stm32f103指南者pdf文档里面,高级定时器那里面,直接搜TIM_TimeBaseStructure.TIM_Repetition ...

我定位到了,是什么描述写错了吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-17 14:06:11 | 显示全部楼层
WishWish 发表于 2019-5-17 11:22
可以说下具体哪页和哪里吗,谢谢

验证了下,使用TIM1时必须加上这句,TIM3就可以不要这句
回复 支持 反对

使用道具 举报

发表于 2019-5-17 14:10:24 | 显示全部楼层
ZSR20181017 发表于 2019-5-17 14:06
验证了下,使用TIM1时必须加上这句,TIM3就可以不要这句

TIM_TimeBaseStructure.TIM_RepetitionCounter  重复计数器,这个是在高级计数器才有的,TIM3没用,我看教程例TIM用它没用把它注释掉到啊,只说  // 重复计数器的值,没用到不用管   例程里面是没有用这个功能
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-17 16:07:48 | 显示全部楼层
WishWish 发表于 2019-5-17 14:10
TIM_TimeBaseStructure.TIM_RepetitionCounter  重复计数器,这个是在高级计数器才有的,TIM3没用,我看 ...

我看到别人用TIM1的时候,没有TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;这句也行啊?
为什么呢?还是有其他的参数设置?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-17 16:19:58 | 显示全部楼层
WishWish 发表于 2019-5-17 14:10
TIM_TimeBaseStructure.TIM_RepetitionCounter  重复计数器,这个是在高级计数器才有的,TIM3没用,我看 ...

void TIM1_PWM_Init(u16 arr,u16 psc)
{  
        GPIO_InitTypeDef GPIO_InitStructure;
        TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
        TIM_OCInitTypeDef  TIM_OCInitStructure;
       
  NVIC_InitTypeDef NVIC_InitStructure;
        TIM_ICInitTypeDef  TIM1_ICInitStructure;
       
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1|RCC_APB2Periph_GPIOA| RCC_APB2Periph_AFIO  , ENABLE);  //使能GPIO外设和AFIO复用功能模块时钟
       
//        GPIO_PinRemapConfig(GPIO_PartialRemap_TIM1 , ENABLE); //
       
   //设置该引脚为复用输出功能,输出TIM3 CH2的PWM脉冲波形        GPIOB.5
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11; //TIM_CH2
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //复用推挽输出
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIO
       
         TIM_DeInit(TIM1);
   //初始化TIM3
         
         
        TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值
        TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值
        TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
        TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位
       
        //初始化TIM3 Channel2 PWM模式         
        TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; //选择定时器模式:TIM脉冲宽度调制模式2
        TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比较输出使能
        TIM_OCInitStructure.TIM_Pulse =0;                       //脉冲有效宽度
        TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High ; //输出极性:TIM输出比较极性高TIM_OCPolarity_Low

       
        TIM_OC3Init(TIM1, &TIM_OCInitStructure);  //根据T指定的参数初始化外设TIM1 OC2
        TIM_OC3PreloadConfig(TIM1, TIM_OCPreload_Enable);  //使能TIM1在CCR2上的预装载寄存器

        TIM_OC4Init(TIM1, &TIM_OCInitStructure);  //根据T指定的参数初始化外设TIM1 OC2
        TIM_OC4PreloadConfig(TIM1, TIM_OCPreload_Enable);  //使能TIM1在CCR2上的预装载寄存器
       
       
        TIM_Cmd(TIM1, ENABLE);  //使能TIM1
        TIM_ARRPreloadConfig(TIM1, ENABLE); //使能TIMx在ARR上的预装载寄存器
        //线这句是打开PWM作用,针对高级定时器TIM1、TIM8
        TIM_CtrlPWMOutputs(TIM1, ENABLE);  
}
/*******************************************************************/
上传别人的示例代码,他这里面没用TIM_TimeBaseStructure.TIM_RepetitionCounter
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 15:35 , Processed in 0.061839 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表