打印
[STM8]

STM8 TIM1实现LED由灭到亮的过程问题求助

[复制链接]
775|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
busike|  楼主 | 2017-5-19 15:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是STM8的初学者,想用stm8s003f3S的定时器1的输出比较3通道产生一个PWM信号来实现LED由灭到亮的效果,但实际效果只有长亮的状态   请大侠指点一二!

#include "stm8s.h"

void PWM_Init2(unsigned long int pwm)
{
  /*不分频,向上计数,TIM1_ARR=16000,重复计数器为0 */
   TIM1_TimeBaseInit(0, TIM1_COUNTERMODE_UP, 16000, 0);
   
   TIM1_OC3Init(TIM1_OCMODE_PWM1,
                TIM1_OUTPUTSTATE_ENABLE,
                TIM1_OUTPUTNSTATE_DISABLE,
                pwm,
                TIM1_OCPOLARITY_HIGH,
                TIM1_OCNPOLARITY_HIGH,
                TIM1_OCIDLESTATE_SET,
                TIM1_OCNIDLESTATE_SET);
   //PWM输出使能
   TIM1_CtrlPWMOutputs(ENABLE);
   //定时器开始计数
   TIM1_Cmd(DISABLE);
}

void delayms(int x)
{  int m,n;  
   for(m=x;m>0;m--)   
     for(n=110;n>0;n--);
}

void main( void )
{
   //unsigned long int i,j=0;
   CLK->CKDIVR = 0X00;       //系统工作在HSI 16M
  
  while(1)
  {
    long int i;     
    for(i=0;i<16000;i=i+22)   
    {      
      PWM_Init2(i);     
      delayms(6000);   
      delayms(6000);
      delayms(6000);
    }
  }   
}
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

42

帖子

0

粉丝