打印

香版,stm32计数器做分频器应用一个不稳定问题

[复制链接]
3406|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
coreduo|  楼主 | 2011-5-16 20:15 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 coreduo 于 2011-5-16 20:28 编辑

#include "stm32f10x.h"
static __inline TIM_TypeDef* tim_get_base(int ch)
{
      return (TIM_TypeDef*)(TIM2_BASE + (ch-2)*0x400);
}
void timer_gen_clock(int ch, int div)
{
    TIM_TypeDef* tim = tim_get_base(ch);

    tim->CCR1  = 0;
    tim->ARR    = div/2 - 1;
    tim->CR1    = TIM_CR1_ARPE | TIM_CR1_DIR | TIM_CR1_CEN;
    tim->SMCR  = TIM_SMCR_ECE | TIM_SMCR_TS;
    tim->CCMR1 = TIM_CCMR1_OC1M_0 | TIM_CCMR1_OC1M_1;
    tim->CCER  = TIM_CCER_CC1E;
}

写了一个计数器做分频器的简单函数,可以正常使用。
使用ETR输入,CH1输出。使用output compare模式。
但是用示波器看,输出的波形不稳
具体情况是输出的波形上升沿是稳定的,但是下降沿在示波器里看来是重影的。
想不通啊。。。
沙发
coreduo|  楼主 | 2011-5-16 20:28 | 只看该作者
我试了上升计数和下降计数,都是同样问题

使用特权

评论回复
板凳
coreduo|  楼主 | 2011-5-16 20:38 | 只看该作者
试了pwm模式,也是如此,这个就奇怪了。
上升沿稳定,下降沿重影。

使用特权

评论回复
地板
coreduo|  楼主 | 2011-5-16 20:49 | 只看该作者
试了很多模式,波形都有效。符合预期。
但是全部是上升沿稳定,下降沿重影。
管脚是悬空,未接任何东西。

使用特权

评论回复
5
coreduo|  楼主 | 2011-5-16 20:57 | 只看该作者
啥也不说了,上图

2011-05-16_20-55-06_923.JPG (26.94 KB )

2011-05-16_20-55-06_923.JPG

使用特权

评论回复
6
香水城| | 2011-5-17 09:57 | 只看该作者
1)请说明示波器的设置方式
2)请同时观察输入信号和输出信号,再进行对比

使用特权

评论回复
7
coreduo|  楼主 | 2011-5-17 10:57 | 只看该作者
本帖最后由 coreduo 于 2011-5-17 11:02 编辑

示波器是直流,1x,非反向
我用stm32的MCO输出25M,用示波器看非常好的波形。
然后这个25M输入到etr,从ch1输出就成这样了,改了各种模式,占空比等,都是下降沿模糊

使用特权

评论回复
8
香水城| | 2011-5-17 10:59 | 只看该作者
1)没有说你的示波器有问题,只是想知道示波器的设置方式
2)请同时观察输入信号和输出信号,再进行对比!

使用特权

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

本版积分规则

32

主题

418

帖子

1

粉丝