智能车制作
标题:
PIT0定时器中断为何进不去
[打印本页]
作者:
tianma
时间:
2012-7-1 14:28
标题:
PIT0定时器中断为何进不去
定时器的初始化函数如下:
//PIT寄存器的初始化,定时时长为80*100/(80M)=0.1ms
void PIT_init(){
PITCFLMT_PITE=0; //定时器通道禁止
PITCE_PCE0=1; //定时器通道0使能
PITMTLD0=80-1; //装载PIT微定时器 8位
PITLD0=100-1; //装载PIT定时器 16位
PITINTE_PINTE0=1; //PIT中断通道0中断使能
PITCFLMT_PITE=1; //定时器通道使能
}
中断子程序如下:
#pragma CODE_SEG NON_BANKED
void interrupt 66 PIT0()
{
Open_laser();//点亮激光管
Path_server();//数据处理
PITTF_PTF0=1; //清除中断标志位
}
但是中断子程序始终进不去,求高手指导是怎么回事。
作者:
tianma
时间:
2012-7-1 14:55
已解决,谢谢。
作者:
348499170
时间:
2012-7-2 09:09
tianma 发表于 2012-7-1 14:55
已解决,谢谢。
怎么解决的?
作者:
tianma
时间:
2012-7-2 11:40
348499170 发表于 2012-7-2 09:09
怎么解决的?
我的问题不在于上面那段代码。在主函数中Enableintterrupts这句话写在了一个while循环的后面,而这个while循环一直在运行,没跳出去,所以中断一直未使能。调了一下顺序后就好了。
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2