智能车制作

标题: 关于PT4口干簧管起跑线检测 [打印本页]

作者: 墨沐    时间: 2014-4-11 20:28
标题: 关于PT4口干簧管起跑线检测
有大神不,PT4口的输入捕获初始化这样写可以不file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\1656316534\QQ\WinTemp\RichOle\FC3HGH5(%1N`ZK64V{AE2`N.jpgfile:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\1656316534\QQ\WinTemp\RichOle\FC3HGH5(%1N`ZK64V{AE2`N.jpg:
void ECT_Init(void) {
   TSCR1_TFFCA=1;        /*快速清除标志*/
   TSCR2=0x07;           /*时钟128分频*/
   TIOS_IOS4=0;          /*通道4为输入捕捉*/

   TCTL4_EDG1A=1;        /*捕捉通道4上升沿*/
   TCTL4_EDG1B=0;

   TIE_C4I=1;            /*通道4中断使能*/
   TSCR2_TOI=0;           //关闭溢出中断
   TSCR1_TEN=1;          /*定时器使能*/
}

ECT的初始化用于干簧管起跑线的检测。但是在调试过程中发现,程序不能进入中断中。中断函数如下:

#pragma CODE_SEG NON_BANKED
/*定时器输入捕捉中断方式*/
#pragma TRAP_PROC
void interrupt 12 C4(void) {
     TFLG1_C4F=1;

   c=4;


}
#pragma CODE_SEG DEFAULT



其中变量c是全局变量,用于调试时观察c值的变化来判断是否进入中断。但是实际调试时发现c的值始终为初始值c=0.
不知道是ECT初始化有问题还是哪里不对。希望有大神指导







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