智能车制作

标题: 关于PIT定时的问题 [打印本页]

作者: wenshuai536    时间: 2013-11-15 19:01
标题: 关于PIT定时的问题
PIT不是有8个独立的定时通道么?  
我设置了两个中断,要是我让其中一个中断进入了一个死循环,如何做到不影响另一个通道定时呀?
比如下面这样:
#pragma CODE_SEG __NEAR_SEG NON_BANKED   
interrupt 66 void PIT0(void){
  
  PITTF=0x01;   
for(;;){   
a++;  }  
}
interrupt 67 void PIT1(void){
   PITTF=0x02;   
  c++;
}
#pragma CODE_SEG DEFAUL   
作者: 小杨木叶    时间: 2013-11-15 19:18
如果你用的芯片是XS128 那么PIT只有4个独立的通道。四个独立的通道工作室是不影响的,你在中断服务函数里面设置死循环,请问中断函数还有什么意义?  但是我想这样也是可以做到的,在PIT0死循环的条件下,你可以测试c值得变化。
作者: wenshuai536    时间: 2013-11-15 19:38
我测试了,上面哪个进入了死循环之后a一直在加,但是c的值没有改变
作者: wenshuai536    时间: 2013-11-15 19:38
小杨木叶 发表于 2013-11-15 19:18
如果你用的芯片是XS128 那么PIT只有4个独立的通道。四个独立的通道工作室是不影响的,你在中断服务函数里面 ...

我测试了,上面哪个进入了死循环之后a一直在加,但是c的值没有改变,这是为什么呢?


作者: 小杨木叶    时间: 2013-11-16 10:24
wenshuai536 发表于 2013-11-15 19:38

实践证明,在那个设置死循环的中断服务函数里面跳不出来,一直在占用CPU资源,无法进如另一个中断服务函数。你应该看一下中断 机制在CPU内部是怎么执行的。。。

作者: wenshuai536    时间: 2013-11-16 10:39
小杨木叶 发表于 2013-11-16 10:24
实践证明,在那个设置死循环的中断服务函数里面跳不出来,一直在占用CPU资源,无法进如另一个中断服务函数 ...

额,诺诺的问下,应该怎么看他的中断机制?   手册吗?  全是英文呀

作者: 小杨木叶    时间: 2013-11-16 10:55
wenshuai536 发表于 2013-11-16 10:39
额,诺诺的问下,应该怎么看他的中断机制?   手册吗?  全是英文呀

我想说你都不了解中断机制,你怎么理解中断的执行过程。中断机制都是一样的,你到网上百度中断的执行过程,看看中断信号是怎么产生的,CPU又是怎么处理的。。。





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2