lintianda 发表于 2015-11-15 17:11:25

stm8s003 tim1 pwm输出求助

各个大哥好,stm8s003的tim1一直发不了脉冲,程序如下:
void TIM1_init(void)
{
TIM1_DeInit();
TIM1_TimeBaseInit(0,TIM1_COUNTERMODE_UP,200,0);
// TIM1_CCxCmd(TIM1_CHANNEL_1, ENABLE);

TIM1_OC1Init(TIM1_OCMODE_PWM2, TIM1_OUTPUTSTATE_DISABLE, TIM1_OUTPUTNSTATE_DISABLE, 100, TIM1_OCPOLARITY_HIGH, TIM1_OCNPOLARITY_HIGH, TIM1_OCIDLESTATE_RESET, TIM1_OCNIDLESTATE_SET);

TIM1_ARRPreloadConfig(ENABLE);
TIM1_OC1PreloadConfig(ENABLE);

TIM1_CtrlPWMOutputs(ENABLE);
TIM1_Cmd(ENABLE);
}


请问有哪里需要改动的,另外,直接写寄存器的也不行
void TIM1_init(void)
{
TIM1->PSCRH=0;//分频系数为0,定时器时钟为8M/(1+0)=8M
TIM1->PSCRL=0;

TIM1->ARRH=0x00;
TIM1->ARRL=0xC8;//频率调为40k



TIM1->CCMR1 =0x78;//通道1配置成比较输出模式,PWM2模式
//TIM1->CCER1 |=0x03;//开启通道1引脚,低电平有效
TIM1->CCER1=0x03;
   //初始化CCR1,占空比为50%;
TIM1->CCR1H=0x00;
TIM1->CCR1L=0x64;
TIM1->RCR|=0x01;
TIM1->EGR=0x01;

//TIM1->CNTRH=0;
//TIM1->CNTRL=0;
TIM1->BKR =0x80;
TIM1->CR1 =0x01;//启动定时器1
}


谢谢!

xiaojuner 发表于 2015-11-16 07:53:42

不会库函数配置么

阿莫西林 发表于 2015-11-16 08:39:59

TIM1_OC1Init(TIM1_OCMODE_PWM2, TIM1_OUTPUTSTATE_DISABLE, TIM1_OUTPUTNSTATE_DISABLE,你确定两个都是disable?

lintianda 发表于 2015-11-16 21:52:22

本帖最后由 lintianda 于 2015-11-16 21:54 编辑

阿莫西林 发表于 2015-11-16 08:39
TIM1_OC1Init(TIM1_OCMODE_PWM2, TIM1_OUTPUTSTATE_DISABLE, TIM1_OUTPUTNSTATE_DISABLE,你确定两个都是di ...
哦,已解决,这里disable写错了。下面寄存器的程序可以用,只是stm8s003 用tim1的pwm得写选项字。谢谢了!

lintianda 发表于 2015-11-16 21:53:21

lintianda 发表于 2015-11-16 21:52
哦,已解决,这里disable写错了。下面寄存器的程序可以用,只是stm8s003 用tim1得写选项字。谢谢了! ...

用tim1的pwm得写选项字

foxglove 发表于 2015-11-17 11:41:54

lintianda 发表于 2015-11-16 21:53
用tim1的pwm得写选项字

用tim1的pwm得写选项字

脱缰的蜗牛 发表于 2016-5-9 15:50:04

用STVD软件的,直接操作寄存器没PWM输出,请问是要设置什么配置字呢??

脱缰的蜗牛 发表于 2016-5-9 15:50:28

什么选项字呀????
页: [1]
查看完整版本: stm8s003 tim1 pwm输出求助