打印
[ZLG-ARM]

PWM中断问题

[复制链接]
1085|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
梦想|  楼主 | 2009-3-21 20:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PWM, TE, ST, ps, tc
为什么进不了PWM中断? LPC2132   

程序如下:

/***********************************************
      PWM 中断函数
************************************************/

__irq void motor_pwm(void)
{   
    
PWMIR =0x01;       //若有中断,清除中断
VICVectAddr=0x00;
    steps++;        //运行步数加1
if(steps==m_stepnum)     //判断运行总步数
{
  PWMPCR   = (0<<13);      // disable PWM5输出
  PWMMCR   =   0x04;         //关闭PWM
  steps=0;       //步数清0        
    }

}

//----------------------------------------------------------------
void motor_run(uint32 stepnum,uint32 pps)
{   
    steps    = 0;
    m_stepnum=stepnum;
    m_pps=pps;
    PWMPR    = 0x00;         // 不分频,计数频率为Fpclk
    PWMMCR  = 3;          //设置PWMMR0匹配时复位、中断PWMTC
    PWMPCR   = 0x2000;      // 允许PWM5输出,单边PWM
    PWMMR0   = Fpclk /m_pps;     // PWM0频率
    PWMMR5   = PWMMR0 / 2;     // 50%占空比
    PWMLER   = 0x21;      // PWM0和PWM5匹配锁存
    PWMTCR   = 0x02;               // 复位PWMTC
   PWMTCR   = 0x09;


//------------------------------------------------------------------                         
VICIntSelect  =0x00;     //设置PWM5中断通道设置为IRQ中断  
VICVectCntl7  = 0x20 | 8;    //分配PWM5到向量中断7
VICVectAddr7  = (uint32)motor_pwm;  //设置中断服务程序地址     
VICIntEnable |=(1<<8);     //使能PWM5中断  
}



为什么能产生波形,而进不了中断呢? 请高手指点,谢谢
 
 

相关帖子

沙发
reeper| | 2009-4-3 10:15 | 只看该作者

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

使用特权

评论回复
板凳
胡刚| | 2009-4-6 16:30 | 只看该作者

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

使用特权

评论回复
地板
msleep| | 2009-4-15 14:00 | 只看该作者

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

使用特权

评论回复
5
ictty| | 2009-5-14 13:45 | 只看该作者

好好看下数据手册

使用特权

评论回复
6
zlg_Wankai| | 2009-5-16 08:25 | 只看该作者

中断使能

使能全局中断

IRQEnable();

使用特权

评论回复
7
usber| | 2009-5-20 14:28 | 只看该作者

路过

使用特权

评论回复
8
lpczcy| | 2009-6-1 20:43 | 只看该作者

这要好好研究啊

使用特权

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

本版积分规则

25

主题

124

帖子

0

粉丝