打印

pwm中断问题

[复制链接]
3747|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mtraveler|  楼主 | 2011-7-15 13:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PWM, pc, FPC, tc, se
本帖最后由 mtraveler 于 2011-7-15 13:48 编辑

void pwm_init(void)
{
PINSEL4=0x00000001; //使用PWM1
PWM1PR = 0x0; // 不分频,计数频率为Fpclk
PWM1MCR = 0x03; // 设置PWMMR0匹配时复位PWMTC并产生中断
PWM1PCR = 1<<9;//0x0400; // 允许PWM1输出,单边PWM
PWM1MR0 = Fpclk/25000000;//Fpclk;//40000//Fpclk/2;
PWM1MR1 = PWM1MR0* 1/ 2; //占空比
PWM1LER = 0x03; // PWM0和PWM1匹配锁存
PWM1TCR = 0x02; // 复位PWMTC
PWM1TCR = 0x09; // 启动PWM输出
PWM1TCR = 0x02; // 复位PWMTC
PWM1TCR = 0x09; // 启动PWM输出
}
void Pwm0Handler (void) __irq
{  
    PWM1IR = 1;   /* clear interrupt flag */
    IENABLE;   /* handles nested interrupt */
    if(c_40ns<24999999)  c_40ns++;
else
{
   c_40ns=0;
   FIO0PIN^=0X01;
}
    IDISABLE;
    VICVectAddr = 0;  /* Acknowledge Interrupt */
}


晶振20M,产生50M的时钟,PWM的时钟配置位50M,芯片LPC2368 ,为什么PWM波正常,中断就不正常呢???

相关帖子

沙发
mtraveler|  楼主 | 2011-7-16 22:11 | 只看该作者
晕,没有高手指点一下吗?

使用特权

评论回复
板凳
eydj2008| | 2011-7-16 22:19 | 只看该作者
我用过LPC  中断和PWM是可以同时的 应该是你的中断配置不完整造成的。

使用特权

评论回复
地板
mtraveler|  楼主 | 2011-7-17 11:28 | 只看该作者
3# eydj2008


您好,我现在遇到的问题是产生25MHz的波正常,中断不正常,但是产生10M以下的波正常,中断也正常,就是不知道为什么了,老大有没有遇到类似的情况?

使用特权

评论回复
5
eydj2008| | 2011-7-17 14:05 | 只看该作者
你的系统频率是50M  中断也会有延迟的  二个指令 你就想中断 开玩笑吧

使用特权

评论回复
6
mtraveler|  楼主 | 2011-7-17 22:13 | 只看该作者
5# eydj2008

噢,是这样啊,谢谢老大指点!请问一下中断在多少个指令周期合适呢?

使用特权

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

本版积分规则

23

主题

68

帖子

0

粉丝