打印
[STM8]

STM8L151F3 定时器2 PWM初始化不正确

[复制链接]
3051|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kukudi|  楼主 | 2013-9-20 09:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大大们,小弟现在要使用STM8L151F3(TSSOP20) 定时器2 PWM功能(PC6脚)输出31.25K 占空比50%的方波。
现在初始化不正确,在示波器上抓不到波形。
想了半天不知哪里出错,请帮小弟看看吧。
下面是我的初始化代码。
PC6已配置成推挽输出,TIM2的时钟已经使能。
//=========================================================//TIM2PWM初始化
void Time2PWMInit(void)
{
      TIM2_CR1=0b00000001;       //使能计数器
    TIM2_CR2=0b00000000;       //
      TIM2_SMCR=0b00000000;
      TIM2_IER=0b00000000;        //禁止中断
    TIM2_SR1=0b00000000;        //中断标志
    TIM2_SR2=0b00000000;        //过捕获标志
    TIM2_EGR=0b00000000;        //事件产生

    TIM2_PSCR=0b00000001;       //2分频
    TIM2_ARRH=0;
      TIM2_ARRL=255;              //PWM频率为16M/2/256=31.25K       (内部16M晶振)
    TIM2_CCMR2=0b01101000;      //通道2 PWM输出模式1
      TIM2_CCER1=0b00010000;      //通道2输出极性(高电平有效)并开启OC2信号输出到对应的输出引脚

    TIM2_CCR2H=0;
      TIM2_CCR2L=128;             //占空比 ↑-->TIM2_CCR2增大

    TIM2_CNTRH=0;
      TIM2_CNTRL=0;               //计数器清0
   
    TIM2_BKR=0b11000000;            //使能OC输出

}

void main()
{

        Time2PWMInit();
        while(1)
       {


        }


}
沙发
cjhk| | 2013-9-20 09:52 | 只看该作者
帮楼主顶一个   我感觉应该是分频这一块有问题

使用特权

评论回复
板凳
kukudi|  楼主 | 2013-9-20 14:33 | 只看该作者
STM8S 上工作没有问题的,但移植到STM8L上就不行。
你说的分频,具体是指哪里呢?
谢谢。

使用特权

评论回复
地板
金融小数| | 2013-9-20 22:12 | 只看该作者
Timer2的时钟没有使能:

CLK_PCKENR1 |= 0x01;        // Enable the Timer2 clock

使用特权

评论回复
5
xxiao6130| | 2013-9-21 09:03 | 只看该作者
楼主,可不可以把STM8L151F3说明手册发来看看?

使用特权

评论回复
6
l217914| | 2014-1-7 14:07 | 只看该作者
定时器2哪里有BKR寄存器啊,无语

使用特权

评论回复
7
shcdz| | 2014-5-17 17:58 | 只看该作者
STM8L151C6T6  我司现货35K 低价出售1371432-7748   QQ7927-65998

使用特权

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

本版积分规则

4

主题

14

帖子

1

粉丝