脱缰的蜗牛 发表于 2016-5-9 20:01:41

TIM1没PWM输出时什么原因

用的是STM8S003的IC,然后配置TIM1没PWM输出,TIM2就可以输出,请教各位这是什么原因

TIM1_EGR |= 0x01;   //重新初始化TIM1
    TIM1_CR1 = 0x00;   //B7(0)可以直接写入 B65(00)边缘对齐模式B4(0)向上计数B3(0)计数器不停止发生更新事件
    TIM1_RCR = 0x00;
    TIM1_PSCRH =0;   //设定预分频为,16分频 1M
    TIM1_PSCRL =0x80;//PWM的时钟 影响周期
    TIM1_CCER1 = 0x0F; //CC2ER1开启1,2,高电平有效
    TIM1_CCMR1 = 0x60; //PWM模式1,CC1配置入输出
    TIM1_ARRH = 0;   //设定重装载值
    TIM1_ARRL = 0xFF;//PWM的周期
    TIM1_CCR1H = 0;
    TIM1_CCR1L = 0x80;// 占空比值
    TIM1_CR1 |= 0x01; //使能TIM1计数器
    TIM1_BKR |= 0x80;


c_lass 发表于 2016-5-11 09:07:32

你映射到对应的管脚了没有啊

c_lass 发表于 2016-5-11 09:12:16

这是stm8s103的程序,你参考下TIM1_DeInit();                //pc3
TIM1->CCMR3|=0Xf<<3;         //pwm模式2    TIM2_CNT<TIM2_CCR2 时为无效电平   CCR2 通道配置为输出
TIM1->CCER2|=1<<0;         //OC3高电平有效   开启OC3到引脚
TIM1->BKR|=1<<7;             //允许OC/OCN输出
TIM1->PSCRH=PSC>>8;            //
TIM1->PSCRL=PSC;
TIM1->ARRH=ARR>>8;
TIM1->ARRL=ARR;
TIM1->CCR3H=CCR>>8;
TIM1->CCR3L=CCR;
TIM1->EGR|=1<<0;         //产生一次 更新事件载入 PSCRARR
//TIM1->IER|=1<<3;       //不允许中断
TIM1->CR1|=1;       //使能计数器

zcl201207 发表于 2016-5-11 23:50:24

:):):):):):)

asssdz-382474 发表于 2016-5-12 20:37:44

:):):):):):):):):):):):):):):)

ughbss 发表于 2016-5-13 01:10:48

TIM1比较特别,多个刹车寄存器,你肯定没配置这个寄存器

xmshao 发表于 2016-5-13 13:43:53

如果8S003F3的话,注意管脚的AFR配置。

脱缰的蜗牛 发表于 2016-5-13 18:40:06

已解决是选项字节没配置

xmshao 发表于 2016-5-17 16:22:03

脱缰的蜗牛 发表于 2016-5-13 18:40
已解决是选项字节没配置

关于STM8选项字节问题 经常会有人遇到。 多留意这点。

STM8 MCU管脚的识读 与 AFR功能简介:
http://mp.weixin.qq.com/s?__biz=MzA3OTIxMjQyNQ==&mid=203685656&idx=1&sn=cdbc3752437df5cee83c77f200365160#rd
页: [1]
查看完整版本: TIM1没PWM输出时什么原因