注册 登录
查看: 346|回复: 6

打开中断程序

[复制链接]
发表于 2014-2-22 11:25:29 | 显示全部楼层 |阅读模式
这个是中断的初始化,,但是只能打开一个不能同时触发   
void interruptinit()
{
      port_init(PTA4, ALT1 | IRQ_FALLING | PULLUP);          //初始化 PTA4 管脚,复用功能为GPIO ,下降沿触发中断,上拉电阻

    set_vector_handler(PORTA_VECTORn ,PORTA_IRQHandler);    //设置PORTA的中断复位函数为 PORTA_IRQHandler
    enable_irq (PORTA_IRQn);                                //使能PORTA中断

}
void interrupt1init()

{
lptmr_timing_ms(1);                                  //初始化LPTMR,定时时间为: 1000ms
set_vector_handler(LPTMR_VECTORn ,LPTMR_IRQHandler);    //设置LPTMR的中断服务函数为 LPTMR_IRQHandler
enable_irq (LPTMR_IRQn);


}

回复

使用道具 举报

发表于 2014-2-22 11:29:47 | 显示全部楼层
PORTA 和 LPTMR 能同时触发中断的啊,但CPU同一时刻只能执行一个响应,毕竟只有一个CPU啊!又不是多核CPU
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-22 11:38:31 | 显示全部楼层
房宜楠 发表于 2014-2-22 11:29
PORTA 和 LPTMR 能同时触发中断的啊,但CPU同一时刻只能执行一个响应,毕竟只有一个CPU啊!又不是多核CPU

那怎么才能同时打开两路中断?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-22 11:40:13 | 显示全部楼层
man 发表于 2014-2-22 11:38
那怎么才能同时打开两路中断?

我是想开一路中断用PIT驱动电机,另一路来计算AD通道来控制电机
回复 支持 反对

使用道具 举报

发表于 2014-2-22 11:50:13 | 显示全部楼层
man 发表于 2014-2-22 11:40
我是想开一路中断用PIT驱动电机,另一路来计算AD通道来控制电机

建议参考卓晴老师那种方法,一个PIT里搞定。山外哥提供的初级篇、中级篇站立代码就是这样的。

是可以开两路中断的啊,分别使能中断就好。

就单核CPU而言,是不存在同时打开的,肯定是分先后顺序的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-22 14:24:22 | 显示全部楼层
隗英秀 发表于 2014-2-22 11:50
建议参考卓晴老师那种方法,一个PIT里搞定。山外哥提供的初级篇、中级篇站立代码就是这样的。

是可以开两 ...

奥,如果这个函数执行后,只有前面的中断打开了,后面的中断还是没打开
回复 支持 反对

使用道具 举报

发表于 2014-2-22 14:34:20 | 显示全部楼层
man 发表于 2014-2-22 14:24
奥,如果这个函数执行后,只有前面的中断打开了,后面的中断还是没打开

看不懂楼主的意思。CPU只有一个,不能同时执行多任务。
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回列表 返回顶部