打印
[应用相关]

高级定时器配置外部时钟模式2

[复制链接]
403|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
songqian17|  楼主 | 2020-4-12 17:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想用STM32F103RBT6(也就是ALIENTEK MiniSTM32)的高级定时器1测外部计数的个数。采用外部时钟模式2.现代码如下:
            RCC_APB1PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); //时钟使能  
           TIM_DeInit(TIM1);        //配置TM1为计数器
           TIM_TimeBaseStructure.TIM_Period = 0xFFFF;                 //计数器自动装载值为0xFFFF
        TIM_TimeBaseStructure.TIM_Prescaler = 0x00;          //不分频
        TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;          //不滤波
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;           //向上计数
        TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
        //设置TM1为外部时钟模式2
        TIM_ETRClockMode2Config(TIM1, TIM_ExtTRGPSC_OFF, TIM_ExtTRGPolarity_NonInverted, 0);
        TIM_SetCounter(TIM1, 0);         //清除计数器值
        TIM_Cmd(TIM1, ENABLE);                 //开启计数
端口PA12已经配置为GPIO_Mode_IN_FLOATING。板的PA12虽已被上拉,用示波器能得到很好的方波。
然后另一定时器定时器的中断到来时度出TIM1_CNT值。另外用TIM2的外部时钟模式2能读出TIM2_CNT值。可是TIM1_CNT总为0!
请问错在那里了?望指教一下,麻烦啦!

使用特权

评论回复
沙发
ousj| | 2020-4-12 17:53 | 只看该作者
定时器通道设置了吗?

使用特权

评论回复
板凳
wenfen| | 2020-4-12 17:57 | 只看该作者
TIM1_CNT总为0就是没启动,pA12初始化了吗?

使用特权

评论回复
地板
bqyj| | 2020-4-12 18:03 | 只看该作者
可能还是初始化的问题。找个类似的例程比较一下吧

使用特权

评论回复
5
wenfen| | 2020-4-12 18:07 | 只看该作者

RCC_APB1PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

使用特权

评论回复
6
wenfen| | 2020-4-12 18:10 | 只看该作者

我的问题和你差不多
TIM1和TIM8不行,换成TIM2就可以,一样的配置。

使用特权

评论回复
7
gongche| | 2020-4-12 18:13 | 只看该作者
请注射定时器时钟总线的定义: RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); //时钟使能  

使用特权

评论回复
8
dengdc| | 2020-4-12 18:16 | 只看该作者
如果PA12被外部上拉,应该为下降沿触发计数,所以TIM_ExtTRGPolarity_NonInverted(不反向)应该改为TIM_ExtTRGPolarity_Inverted(反向),你的问题就解决了。

使用特权

评论回复
9
huwr| | 2020-4-12 18:20 | 只看该作者
我想问下您对定时器的外部时钟模式的初始化有没有对定时器的指定通道进行初始化啊?

使用特权

评论回复
10
huwr| | 2020-4-12 18:26 | 只看该作者
如果没有对指定通道初始化,STM32是直接选择你初始化的GPIO管脚输入的脉冲信号来计数吗?

使用特权

评论回复
11
songqian17|  楼主 | 2020-4-12 18:29 | 只看该作者
其实还是不大明白,我再琢磨琢磨吧,多谢了哈

使用特权

评论回复
12
chenjun233| | 2021-6-2 23:49 | 只看该作者
我想问你 你可以采用外部晶振作定时器时钟源吗?谢谢

使用特权

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

本版积分规则

463

主题

5749

帖子

1

粉丝