[ZLG-ARM] PWM中断问题

[复制链接]
2463|7
 楼主| 梦想 发表于 2009-3-21 20:58 | 显示全部楼层 |阅读模式
PWM, TE, ST, ps, tc
为什么进不了PWM中断?&nbsp;LPC2132&nbsp;&nbsp;&nbsp;<br /><br />程序如下:<br /><br />/***********************************************<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PWM&nbsp;中断函数<br />************************************************/<br /><br />__irq&nbsp;void&nbsp;motor_pwm(void)<br />{&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />PWMIR&nbsp;=0x01;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//若有中断,清除中断<br />VICVectAddr=0x00;<br />&nbsp;&nbsp;&nbsp;&nbsp;steps++;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//运行步数加1<br />if(steps==m_stepnum)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//判断运行总步数<br />{<br />&nbsp;&nbsp;PWMPCR&nbsp;&nbsp;&nbsp;=&nbsp;(0&lt&lt13);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;disable&nbsp;PWM5输出<br />&nbsp;&nbsp;PWMMCR&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;0x04;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//关闭PWM<br />&nbsp;&nbsp;steps=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//步数清0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}<br /><br />//----------------------------------------------------------------<br />void&nbsp;motor_run(uint32&nbsp;stepnum,uint32&nbsp;pps)<br />{&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;steps&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;m_stepnum=stepnum;<br />&nbsp;&nbsp;&nbsp;&nbsp;m_pps=pps;<br />&nbsp;&nbsp;&nbsp;&nbsp;PWMPR&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x00;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;不分频,计数频率为Fpclk<br />&nbsp;&nbsp;&nbsp;&nbsp;PWMMCR&nbsp;&nbsp;=&nbsp;3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//设置PWMMR0匹配时复位、中断PWMTC<br />&nbsp;&nbsp;&nbsp;&nbsp;PWMPCR&nbsp;&nbsp;&nbsp;=&nbsp;0x2000;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;允许PWM5输出,单边PWM<br />&nbsp;&nbsp;&nbsp;&nbsp;PWMMR0&nbsp;&nbsp;&nbsp;=&nbsp;Fpclk&nbsp;/m_pps;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;PWM0频率<br />&nbsp;&nbsp;&nbsp;&nbsp;PWMMR5&nbsp;&nbsp;&nbsp;=&nbsp;PWMMR0&nbsp;/&nbsp;2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;50%占空比<br />&nbsp;&nbsp;&nbsp;&nbsp;PWMLER&nbsp;&nbsp;&nbsp;=&nbsp;0x21;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;PWM0和PWM5匹配锁存<br />&nbsp;&nbsp;&nbsp;&nbsp;PWMTCR&nbsp;&nbsp;&nbsp;=&nbsp;0x02;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;复位PWMTC<br />&nbsp;&nbsp;&nbsp;PWMTCR&nbsp;&nbsp;&nbsp;=&nbsp;0x09;<br /><br /><br />//------------------------------------------------------------------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />VICIntSelect&nbsp;&nbsp;=0x00;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//设置PWM5中断通道设置为IRQ中断&nbsp;&nbsp;<br />VICVectCntl7&nbsp;&nbsp;=&nbsp;0x20&nbsp;|&nbsp;8;&nbsp;&nbsp;&nbsp;&nbsp;//分配PWM5到向量中断7<br />VICVectAddr7&nbsp;&nbsp;=&nbsp;(uint32)motor_pwm;&nbsp;&nbsp;//设置中断服务程序地址&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />VICIntEnable&nbsp;|=(1&lt&lt8);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//使能PWM5中断&nbsp;&nbsp;<br />}<br /><br /><br /><br />为什么能产生波形,而进不了中断呢?&nbsp;请高手指点,谢谢<br />&nbsp;<br />&nbsp;<br />
reeper 发表于 2009-4-3 10:15 | 显示全部楼层

配置问题?寄存器设置怎么样?

  
胡刚 发表于 2009-4-6 16:30 | 显示全部楼层

看看数据手册中的PWM部分的介绍

  
msleep 发表于 2009-4-15 14:00 | 显示全部楼层

就是楼上说的,好好研究下数据手册啦

  
ictty 发表于 2009-5-14 13:45 | 显示全部楼层

好好看下数据手册

  
zlg_Wankai 发表于 2009-5-16 08:25 | 显示全部楼层

中断使能

使能全局中断<br /><br />IRQEnable();
usber 发表于 2009-5-20 14:28 | 显示全部楼层

路过

  
lpczcy 发表于 2009-6-1 20:43 | 显示全部楼层

这要好好研究啊

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

123

帖子

0

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