Board logo

标题: PIT定时中断,问题请教 [打印本页]

作者: dew0119    时间: 2009-12-29 19:01     标题: PIT定时中断,问题请教

我刚刚接触freesale的单片机,遇到问题了,还烦请大家帮忙分析一下

我原本想设置1ms中断,BusClock是16M, 函数在下面,但是出来的结果不是1ms,
而是1.25us,可是我不论怎么改变PITLD0和PITMTLD0的值,一直就是1.25us,
请大家帮忙看看,谢谢!!

初始化函数如下:
void initPIT(void)
{
    PITCFLMT_PITE=0;
    PITCE_PCE0=1;
    PITMTLD0=39;
    PITLD0=399;
    PITINTE_PINTE0=1;
    PITCFLMT_PITE=1;
}

中断函数如下

#pragma CODE_SEG NON_BANKED
void interrupt 66 PIT0(void)
{
       PORTB =~PORTB;
       PITTF_PTF0=1;
}




本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yangyong1011/archive/2009/05/02/4144236.aspx
作者: yuling0916    时间: 2009-12-30 15:42

我验证了一下,可以实现1ms的定时啊,如果说有不完善的地方就是你的初始化PIT时最好加上PITTF清标志位,别的没啥大毛病。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0