智能车制作

标题: pwm [打印本页]

作者: xyz11478    时间: 2008-12-19 06:52
标题: pwm
<>请教个问题,就是我想让PWM的占空比从5%渐变到%10在渐变到5%,程序如下:&nbsp; PWMDTY45++;&nbsp;<BR>&nbsp; if(PWMDTY45 &gt;= 4000)<BR>&nbsp; {&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(PWMDTY45 &gt;= 2000) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PWMDTY45--;<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; }</P><P>但是用示波器一看能从从5%渐变到%10但是一下就跳变到5%了,有没有办法然10%递减到5%呢?</P>
作者: whut_wj    时间: 2008-12-19 07:00
标题: Re:pwm
<>你这个程序相当于</P><P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(PWMDTY45 &gt;= 2000) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PWMDTY45--;<BR>&nbsp;&nbsp;&nbsp;&nbsp; }</P><P>减到2000就死了.程序比较乱.呵呵.<BR></P>
作者: xyz11478    时间: 2008-12-19 20:14
标题: Re:pwm
但是我这是放在一个死循环里面的,所以还是能循环的,主要是他从4000减到2000的那个过程没有,而是直接从4000跳变到2000,没有递减的过程~~~这是为什么呢?
作者: whut_wj    时间: 2008-12-20 01:40
标题: Re:pwm
<>怎么递增就怎么递减. 请想一下算法,</P>
作者: zhangdachui    时间: 2008-12-20 05:49
标题: Re:pwm
<>增减的太快了你看不出来了吧</P><P>if(PWMDTY45 &gt;= 4000)<BR>&nbsp; {&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(PWMDTY45 &gt;= 2000) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PWMDTY45--;<BR>&nbsp;&nbsp;&nbsp;&nbsp; for(i=1;1&lt;5000;i++)</P><P>{</P><P>}</P><P>}<BR>&nbsp;&nbsp; }</P><P>试试</P>
作者: xyz11478    时间: 2008-12-20 07:59
标题: Re:pwm
呵呵,我也这么想的,但是为什么在递减会比递增快那么多呢?本质的到底是什么呢?
作者: woody1986513    时间: 2008-12-25 07:10
标题: Re:pwm
减法的运算指令本来就比加法要快一些啊!!
作者: xyz11478    时间: 2008-12-25 19:09
标题: Re:Re:pwm
<>呵呵,谢谢哈!</P>




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2