2407的程序,用定时器怎么不出来PWM呢?让PWM9有PWM.大家来看看吧

[复制链接]
2713|3
 楼主| sdqiang 发表于 2007-8-21 13:38 | 显示全部楼层 |阅读模式
&nbsp;void&nbsp;T3init()&nbsp;&nbsp;&nbsp;<br />&nbsp;{&nbsp;*EVBIMRA=*EVBIMRA|0X0080;//init<br />&nbsp;&nbsp;*EVBIFRA=*EVBIFRA&0X0080;<br />&nbsp;&nbsp;*T3CON&nbsp;=&nbsp;0x1040;&nbsp;&nbsp;//&nbsp;定时器3为连续增计数模式<br />&nbsp;&nbsp;*T3PER&nbsp;=&nbsp;0x0820;//设置定时器3的周期寄存器,并设置CMPR4~CMPR6,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;*CMPR5&nbsp;=&nbsp;0x00C0;&nbsp;//*CMPR5&nbsp;=&nbsp;0x0010;//pwm9,10&nbsp;&nbsp;1:1&nbsp;&nbsp;<br />&nbsp;&nbsp;*CMPR6&nbsp;=&nbsp;0x00C0;&nbsp;//*CMPR6&nbsp;=&nbsp;0x0010;//pwm11,12&nbsp;1:1<br />&nbsp;&nbsp;*T3CNT=0X00;//计数器清0<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />*GPTCONB=0XF04A;&nbsp;&nbsp;<br />//*T3CMPR=1000;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;*ACTRB=0x0000;<br />&nbsp;&nbsp;*DBTCONB=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//不使能死区控制&nbsp;<br />&nbsp;&nbsp;*COMCONB&nbsp;=&nbsp;0x8200;&nbsp;<br />}<br /><br /><br />void&nbsp;interrupt&nbsp;T3INT()&nbsp;<br />{&nbsp;<br />&nbsp;*EVBIFRA=*EVBIFRA&0X0080;<br />&nbsp;<br />&nbsp;flag=*EVBIFRA&0X0080;<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;*T3CNT=0X00;//计数器清0&nbsp;<br />&nbsp;*EVBIFRA=*EVBIFRA&0X0080;&nbsp;<br />&nbsp;asm&nbsp;(&quot;&nbsp;clrc&nbsp;INTM&quot;);<br />&nbsp;return;<br />}<br /><br /><br />..........<br />void&nbsp;do()<br />{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*CMPR5&nbsp;=&nbsp;0x00C0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(flag!=0X0080){&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*T3CON=0x1000;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*T3PER&nbsp;=&nbsp;0x820;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*ACTRB=0x0010;//&nbsp;&nbsp;9di&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*T3CON=0x1040;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*T3CNT=0X00;//计数器清0&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*EVBIFRA=*EVBIFRA&0X0080;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 楼主| sdqiang 发表于 2007-8-21 13:41 | 显示全部楼层

while (flag!=0X0080){ }是等待产生中断.

怎么一直等待呢?
 楼主| sdqiang 发表于 2007-8-21 15:21 | 显示全部楼层

大家调中断都是怎么调的?播怎么进不到中断呢?

  
hyhjjg 发表于 2007-8-22 20:41 | 显示全部楼层

你的引脚功能设置了吗

你的引脚功能设置了吗?<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

58

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部