打印
[STM8]

stm8 tim2 输出pwm波问题

[复制链接]
1256|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
大好大|  楼主 | 2016-8-17 10:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
输出pwm波需要早中断里清除中断中断标志位吗?我现在的问题是写入寄存器的值和实际寄存器的值不一致,大神求帮忙啊
沙发
mmuuss586| | 2016-8-17 12:40 | 只看该作者
你的PWM通过什么产生的?
通过TIM的硬件产生的,不会的产生中断,不用清除;

值不对,是不是哪里更新了,或者时钟不对

使用特权

评论回复
板凳
大好大|  楼主 | 2016-8-17 13:32 | 只看该作者
mmuuss586 发表于 2016-8-17 12:40
你的PWM通过什么产生的?
通过TIM的硬件产生的,不会的产生中断,不用清除;

这是我写的配置信息,您帮我看一下哪不对了
void PWM_Init(void)
{
    CLK_PCKENR1 |= 0x20; //tim2外设时钟使能
    TIM2_CR1  = 0X00;   //TIM2计数器禁止
    TIM2_PSCR = 0x00;//不分频
    /* Set the Autoreload value */
    TIM2_ARRH = 0x00;
    TIM2_ARRL = 0x8A;
    /*TIM2 Frequency=16M/138=116k*/
    TIM2_CCR1H  = 0x00;    //设置PWM输出占空比为40%
    TIM2_CCR1L  = 0X37;
   
    TIM2_CCER1 |= 0x03;    //低电平有效,OC1信号输出到对应的输出引脚。
    TIM2_CCMR1 |= 0X70;   //设置定时器2 1通道 PWM模式2 输出模式
   
    TIM2_IER   |= 0X00;     //禁止中断使能
    TIM2_CCMR1 |= 0X08;   //开启预装载
    TIM2_CR1    = 0X01;     //TIM2计数器使能
  
}

使用特权

评论回复
地板
大好大|  楼主 | 2016-8-17 17:08 | 只看该作者
已经解决,因为头文件的关系

使用特权

评论回复
5
lovecat2015| | 2016-8-17 20:33 | 只看该作者
所有的中断最好在用完中断之后都要清楚中断标志

使用特权

评论回复
6
Rollo| | 2016-8-17 21:50 | 只看该作者
通过TIM的硬件产生的,不会的产生中断,不用清除

使用特权

评论回复
7
大好大|  楼主 | 2016-8-24 15:21 | 只看该作者
已经成功了,结贴!谢谢大家

使用特权

评论回复
8
Rangar| | 2016-8-24 16:57 | 只看该作者
楼主怎么解决的呢

使用特权

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

本版积分规则

2

主题

11

帖子

0

粉丝