打印
[STM8]

STM8S105S6单片机使用TIM1计数器输出PWM未解决

[复制链接]
2025|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
scott_skl|  楼主 | 2014-4-3 15:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void tim1_init(void)
{
        CLK_PCKENR1 =0x80;
        TIM1_CCER1 = 0x30; //通道1极性,有效电平为低电平
        TIM1_CCMR1 = 0x70; //配置通道1 模式PWM 1
        TIM1_PSCRH = 0x00;
        TIM1_PSCRL = 0x00;  //预分频系数 1
        TIM1_ARRH = 0x00;
        TIM1_ARRL = 0xff; //最大计数值
        TIM1_CCR1H = 0x00;
        TIM1_CCR1L = 0x06; //通道1的比较值
        TIM1_BKR |= 0x80; //使能PWM输出
        TIM1_CR1 = 0x01; //启动Tim1 向上计数模式        
}
未输出PWM   求大神指点迷津!
沙发
scott_skl|  楼主 | 2014-4-3 15:47 | 只看该作者
已解决   还是多谢之前大神帮忙!
另附所给程序!

void TIM1_init(void)   //定时器1配置(PWM输出)
{
  TIM1_PSCRH=0x00;
  TIM1_PSCRL=0x02;//
  TIM1_ARRH=0x00;
  TIM1_ARRL=0x82;//自动重装载寄存器,决定频率82=130

  TIM1_CCMR1=0X78;//PWM2模式,CC1配置为输出,为了操作正确,在PWM模式下必须使能预装载功能(68低电平为有效,78为高电平有效)
  TIM1_CCR1H=0x00;
  TIM1_CCR1L=0x00;//捕获/比较寄存器,决定占空比(CCR1H+CCR1L不能大于ARRH+ARRL=130)0x60
  
  TIM1_CCMR2=0X78;//PWM2模式,CC1配置为输出,为了操作正确,在PWM模式下必须使能预装载功能
  TIM1_CCR2H=0x00;
  TIM1_CCR2L=0x00;//捕获/比较寄存器,决定占空比 0x60

  TIM1_CCER1=0X33;//OC1\OC2高电平有效,OC1\OC2信号输出到对应输出引脚
  TIM1_EGR=0X01;
  TIM1_BKR=0x80; //使能刹车寄存器
  TIM1_CR1=0X01;//TIM1控制寄存器,有预装载缓冲ARPE=1,CEN=1使能计数器
}


使用特权

评论回复
板凳
WYT440| | 2014-4-3 16:27 | 只看该作者
多谢分享!:handshake

使用特权

评论回复
地板
airwill| | 2014-4-3 16:46 | 只看该作者
支持一下新人的分享.

使用特权

评论回复
5
海中水| | 2014-4-3 23:47 | 只看该作者
定时器1的通道1啊!为什么不用TIM2或者3呢?

使用特权

评论回复
6
FAQ| | 2014-4-4 08:40 | 只看该作者
注意EGR

使用特权

评论回复
7
scott_skl|  楼主 | 2014-4-11 16:04 | 只看该作者
海中水 发表于 2014-4-3 23:47
定时器1的通道1啊!为什么不用TIM2或者3呢?

因为另外几个全部在用了;P

使用特权

评论回复
8
海中水| | 2014-4-11 23:25 | 只看该作者
scott_skl 发表于 2014-4-11 16:04
因为另外几个全部在用了

厉害!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

8

帖子

0

粉丝