打印

急问,关于STM8 TIM2比较输出

[复制链接]
3921|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jd9945|  楼主 | 2010-9-25 10:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TI, STM8, se, ni, BLE

想输出三种频率,本来是要改变CCR1_Val_1kzh捕获值,但是我现在改变它频率没有变化,非要改变TIM2_TimeBaseInit函数中溢出时基值来改变频率,不知道为什么请知道的指点一下.

  if(temp==1)
    TIM2_TimeBaseInit(TIM2_PRESCALER_2, 1024);    //1khz
  else  if(temp==2)
    TIM2_TimeBaseInit(TIM2_PRESCALER_2, 3800);     //250hz
  else
    TIM2_TimeBaseInit(TIM2_PRESCALER_2, 2800);     //386hz
   
   TIM2_OC1Init(TIM2_OCMODE_TOGGLE, TIM2_OUTPUTSTATE_ENABLE,CCR1_Val_1kzh, TIM2_OCPOLARITY_HIGH);//
  
  TIM2_OC1PreloadConfig(ENABLE);  
  TIM2_ARRPreloadConfig(ENABLE);
  TIM2_Cmd(ENABLE);
沙发
香水城| | 2010-9-25 13:06 | 只看该作者
为什么不呢?

使用特权

评论回复
板凳
jd9945|  楼主 | 2010-9-25 13:45 | 只看该作者
不知道,频率输出都是固定的.
用上面的程序是可以改变频率的..
但用下面的方式来设置时就不行, 不知道为什么,,
TIM2_OC1Init(TIM2_OCMODE_TOGGLE, TIM2_OUTPUTSTATE_ENABLE,CCR1_Val_1kzh, TIM2_OCPOLARITY_HIGH);//

TIM2_OC1Init(TIM2_OCMODE_TOGGLE, TIM2_OUTPUTSTATE_ENABLE,CCR1_Val_300hz, TIM2_OCPOLARITY_HIGH);//

TIM2_OC1Init(TIM2_OCMODE_TOGGLE, TIM2_OUTPUTSTATE_ENABLE,CCR1_Val_150hz, TIM2_OCPOLARITY_HIGH);//

使用特权

评论回复
地板
香水城| | 2010-9-25 13:50 | 只看该作者
3楼的程序段是设置占空比,当然不会改变频率。

使用特权

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

本版积分规则

26

主题

84

帖子

0

粉丝