山东电子小菜鸟的个人空间 https://bbs.21ic.com/?1197168 [收藏] [复制] [RSS]

日志

STM8定时器TIM1通道2的PWM输出配置(转载)

已有 5788 次阅读2017-8-23 23:32 |个人分类:stm8|系统分类:单片机

void TIM1_Config(void)
{

    CLK_PCKENR1 |= 0x80;//开启定时器1外设时钟 
    TIM1_EGR |= 0x01;   //重新初始化TIM1 
    TIM1_CR1 = 0x00;   //默认设置
    TIM1_RCR = 0x00;  
       
    TIM1_PSCRH =0;     
    TIM1_PSCRL =15;/*预分频,做背光调节,对pwm要求不高*/
    
    TIM1_ARRH = 0;     //设定重装载值
    TIM1_ARRL = 0xFF;  //PWM的周期

    /*不同的通道,对应不同的寄存器*/
    TIM1_CCR2H = 0;     //捕获比较值H
    TIM1_CCR2L = stShowDat.usPwmDuty;  //捕获比较值L
    TIM1_CCER1 = 0xB0; //ch2p开启,不同的通道对应不同寄存器
    TIM1_CCMR2 = 0x7c; //PWM模式2
    
      TIM1_CR1 |= 0x01; //使能TIM1计数器
      TIM1_BKR |= 0x80;/*使能输出*/

}
注意:C7默认非TIM1_CH2输出功能,需要通过STVP对AFR0进行设置,否则PWM不会见你的.

为了偷懒,使用了lib库,但最后发现代码臃肿,存储空间不够用了,呜呜............
又要重新看寄存器,偷懒不了.看来8位机,还是少用库.

路过

鸡蛋

鲜花

握手

雷人

全部作者的其他最新日志

评论 (0 个评论)