这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » pwm 能不能这样关pwm输出?

共4条 1/1 1 跳转至

pwm 能不能这样关pwm输出?

院士
2006-09-17 18:14:16     打赏
pwm 能不能这样关pwm输出?



关键词: 能不能     这样     输出    

院士
2006-12-22 22:43:00     打赏
2楼
问 我在程序中使用了pwm输出,但其中有段时间要关掉它一段时间
程序里是这么关的
PWMCR=0;
ATCSR2|=0x40;
打开是这样
PWMCR=0x40;
ATCSR2|=0x40;
单片机是7flit15b,请问这样操作有没有什么影响? 1: 说句俗话“这个要具体问题具体分析”啦lite15b的pwm偶也用过一下下,我觉得怎样关掉还是要看你的具体情况咯。
象你这样将pwmcr关掉当然是可以的咯。这样PWM引脚就不会有输出了,但是这个时候,counter还是在跑的。如果你把ATCSR2的ENCNTR2清掉,此时计数器就会停止在当前值,等到你重新使能ENCNTR2后,计数器会继续从之前的那个值开始计数。

具体怎么操作,看你的具体情况了。

不知道楼主在用的时候碰到什么问题了? 2: 关pwm出问题了我打开了比较中断,比较中断的时候pwm输出应该是低的,这个时候我
操作了
PWMCR=0;
ATCSR2|=0x40;
然后过点时间再打开
PWMCR=0x40;
ATCSR2|=0x40;
这样的话,pwm是否会是正常的?或者有波动?

3: 不好意思,还是不明白你到底要干吗?你还是没有说你到底出现什么问题,你到底想要达到什么样的效果?对你来说,怎么样的pwm信号算是正常,怎样算是不正常?或者是关掉以后出现了什么状况。。。或者是打开后又出现什么异常呢,请把现象描述清楚,大家才好帮你找问题的呀

菜鸟
2009-08-25 16:48:30     打赏
3楼
 if(bit_is_set(PINB,PINB0))
  {
    temp=PIND&0xe0;
 switch(temp)
 { case 0x00:outailpwm();   outailpwm()是什么意思?

             break;
      case 0x20:outelepwm();
             break;
      case 0x40:outthrpwm();
             break;
      case 0x60:outrudpwm();
             break;
      case 0x80:outkspwm();
             break;
      default:break;
 }
 cbi(TCCR1B,ICES1);
 TIFR1|=0x20; 
   }
  else
  { PORTC&=0x00;
    sbi(TCCR1B,ICES1);
 TIFR1|=0x20;
  }
}  
这个程序能实现什么?
谢谢

高工
2009-08-25 19:03:00     打赏
4楼
你只给出这样一个片段,而且很多函数名的意思都不好猜,实在不明白什么意思。
能给出更详细的吗?

共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]