[STM8] stm8s的tim1的pwm输出求助

[复制链接]
8802|7
 楼主| tang221986 发表于 2013-1-30 11:00 | 显示全部楼层 |阅读模式
请问定时器使能,主输出使能和通道输出使能三种组合,任意有一个不使能时通道的电平状态时什么?datasheet上描述如下,但是描述的是有互补输出的情况,但是还是理解的不清楚CC1 通道配置为输出: 0:  关闭- OC1 禁止输出,因此OC1的输出电平依赖于MOE、OSSI、OSSR 、OIS1、OIS1N
和CC1NE位的值。
1:  开启- OC1 信号输出到对应的输出引脚,其输出电平依赖于MOE、OSSI、OSSR 、
OIS1、OIS1N 和CC1NE位的值。


uet_cache 发表于 2013-1-30 11:57 | 显示全部楼层
有默认电平状态设置的。
jackwugaopei 发表于 2014-3-21 09:39 | 显示全部楼层
紧急求助!!!!stm8s003 tim1的pwm输出程序我调试了两天了怎么也输出不了!请高人指点一下,谢谢啦!!!
TIM2的PWM可以输出就色TIM1的PC3-----7我想做成PWM输出,可怎么都没法输出!没有一个通道能输出,急死我!!
请大家帮我修改一下,谢谢!!
void InitTime1(void)
{
  /******************************************
  ***********************************************/
  TIM1_CCMR1 |= 0x78;      /* Output mode PWM2.TIM_CNT>TIM_CCR时,输出有效电平,使能预装载                      */
    //TIM1_CCMR1 |= 0x70;      /* Output mode PWM2.TIM_CNT>TIM_CCR时,输出有效电平,使能预装载                      */  
   TIM1_CCER1 |= 0x03;      /* CC polarity high,enable PWM output      */
  TIM1_ARRH    = 0x07;         /* Freq control register: ARR             */
    TIM1_ARRL    = 0xD0;         /* Freq control register: ARR             */

  TIM1_CCR1H   = 0x03;         /* Dutycycle control register: CCR        */
    TIM1_CCR1L  = 0XE8;      /* Dutycycle control register: CCR        */
  TIM1_BKR    |=0X80;    //MOE =1;主输出使能
  //TIM1_RCR=200;
  ///TIM1_RCR=10;
  TIM1_RCR=0x01;  //重复计数器
  TIM1_PSCRH = 00;
  //TIM1_PSCRL = 0x1F;      ///32分频=16M/32=500KHZ
    TIM1_PSCRL = 0x07;//8分频=16M/8=2000KHZ
  TIM1_CR1   |= 0x81;      /* Enable TIM3.   TIM3->ARR通 过预装载寄存器缓冲      */
    //TIM1_CR1   |= 0x01;      /* Enable TIM1.   TIM3->ARR立 即写入影子寄存器    */
    ///TIM1_IER |= 0x01; //充许更新中断  UIE
}
void InitTime2(void)
{

        /*定时器基础设置*/
        CLK_CKDIVR= 0x00; //内部16M时钟不分频
        TIM2_PSCR = 0x00;  //定时器2预分频系数为1
        TIM2_CR1 = 0x01;  //内部计数器使能;
        TIM2_ARRH = 0x01;//0140,320分频,16M/320=50K,实测49.75K
        TIM2_ARRL = 0x3e;//自动装载寄存器低位;实测013e正好为50.0K
#if TIM2_PWM1       
        /*PWM通道1设置*/
        TIM2_CCER1 |= 0x01;   //开启OC1信号输出脚//CH1:PC5口输出;50KHz,占空比50%
        TIM2_CCMR1 = 0x60;   //PWM1模式  
        TIM2_CCR1H = 0x00;    //占空比高位
        TIM2_CCR1L = 0xa0;   //占空比低位
        TIM2_CCMR1 |= 0x08;  //输出比较1预装载使能
#endif       
}








茫茫大士 发表于 2014-9-6 18:59 | 显示全部楼层
进来看看
ss掷弹专业 发表于 2014-9-10 11:25 | 显示全部楼层
同问啊 我也是stm8s103k的tim1怎么也输出不了pwm 求大神解释啊
jiangyong07 发表于 2014-12-29 17:38 | 显示全部楼层
TIM1_CCER1 |= 0x03;通道设置错了,这是TIM1_CH1通道,PC1口
我的PC1口PWM能输出,但是示波器看波形,断断续续的。在PWM波形中会停一段时间几十MS或几MS。
出现也没有规律,有没有碰到类似问题的。出个手哟
AVS09873 发表于 2015-1-6 20:33 | 显示全部楼层
建议楼主下载ST官方例程的程序学习,我就是看的例程,输出了PWM,但是用的是stm8l101单片机
justinlin2015 发表于 2015-12-8 17:52 | 显示全部楼层
进来逛逛!!!学习了。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

122

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部