lemenshen 发表于 2015-5-11 17:56:45

关于stm8s003的TIM2_CH3输出pwm

求各位大神解救,此PWM无输出,已经将PD2设置了推挽输出方式,并且在optionbyte中也设置了PORT D2 alternate function=TIM2_CH3了,但是下载到芯片无输出呢,求大神帮帮忙~~:'(:'(
程序如下:
#include "stm8s103f.h"


void delayms(unsigned int ms)
{
      unsigned char i;
      while(ms!=0)
      {
                for(i=0;i<250;i++);
                for(i=0;i<75;i++);
                ms--;
      }
}

void CLK_Init(void)
{
      CLK_CKDIVR=0x11;
}

void TIM2_Init(void)
{
      TIM2_CCMR3|=0x70;
      TIM2_CCER1|=0x30;
      TIM2_ARRH=0;
      TIM2_ARRL=0xFF;
      TIM2_CCR3H=0;
      TIM2_CCR3L=0;
      TIM2_PSCR=0;
      TIM2_CR1|=0x01;
}

main()
{
      unsigned char i;
      PD_DDR=0x04;
      PD_CR1=0x04;
      PD_CR2=0x00;
      CLK_Init();
      TIM2_Init();
      while(1)
      {
                for(i=0;i<128;i++)
                {
                        TIM2_CCR3H=0;
                        TIM2_CCR3L=i;
                        delayms(5);
                }
                for(i=128;i>0;i--)
                {
                        TIM2_CCR3H=0;
                        TIM2_CCR3L=i;
                        delayms(5);
                }
      }
}

melpomene_can 发表于 2015-5-11 18:29:16

看上去好像没啥问题啊...虽然我用的是103

lemenshen 发表于 2015-5-12 09:00:11

melpomene_can 发表于 2015-5-11 18:29
看上去好像没啥问题啊...虽然我用的是103

对啊,我也不懂为什么呢···:'(

zhuoyemp4 发表于 2015-5-12 09:51:01

TIM2_CCMR3|=0x70;
TIM2_CCER1|=0x30;
这两句改成
TIM2_CCMR3|=0x78;
TIM2_CCER2|=0x03;

lemenshen 发表于 2015-5-12 10:40:09

zhuoyemp4 发表于 2015-5-12 09:51
TIM2_CCMR3|=0x70;
TIM2_CCER1|=0x30;
这两句改成


已经改过了,还是不可以,,,我希望PD2输出PWM让LED灯渐亮,哎····PD2输出低电平有效,LED就亮··
页: [1]
查看完整版本: 关于stm8s003的TIM2_CH3输出pwm