Board logo

标题: 为了智能车--多个中断服务程序的运行---请教! [打印本页]

作者: iwillbeback008    时间: 2007-6-22 13:41     标题: 为了智能车--多个中断服务程序的运行---请教!

我用的是DG128,使用参加飞思卡尔智能车比赛赛会发的开发板。在程序,中想同时使用RTI和ECT0口分别对电机舵机控制和通过上升沿捕捉检测速度。在系统开始时,通过B口将8个LED点亮几次,然后进入主程序,如果同时打开RTI和ECT4程序虽然不跑飞,但是PWM周期会改变(本来在程序中是设置50HZ和1KHZ的PWM分别对舵机和电机控制)!而且单独开了RTI或是ECT4,同样是程序不跑飞,但是PWM周期会改变!如果两个中断服务都不打开,程序运行正常,产生的PWM周期正确!望版主和各位大侠指点小弟。
我附上了Project工程文件!

作者: iwillbeback008    时间: 2007-6-22 13:49

我附上的Project工程文件!http://bbs.chinaecnet.com/uploadImages/Project2.rar
作者: iwillbeback008    时间: 2007-6-22 14:37

现在我改了:把所有中断服务打开,但是把RTI中断服务中的函数调用去掉,
interrupt 7 void RTI_isr(void){
CRGFLG_RTIF = 1;//Clear RTI Flag
CRGINT_RTIE=0; //屏蔽RTI中断
//read_road();
//pwm_motors();
CRGINT_RTIE=1; //允许RTI中断
}

结果程序运行正常!产生的PWM波形周期也对了!是不是我在中断函数中调用其他的函数有错?该如何在中断服务程序中调函数!
望版主和各位大侠指点小弟。

作者: iwillbeback008    时间: 2007-6-22 14:46

还有,我把interrupt 7 void RTI_isr(void){}中的read_road();pwm_motors();直接的全部发到interrupt 7 void RTI_isr(void){}中,还是会影响系统生成的PWM波形周期!
似乎中断程序运行太长了是么?
望版主和各位大侠指点小弟。

作者: strongchen    时间: 2007-6-22 14:48

原先你在RTI中断程序中也对PWM进行了操作吗?看到你有一个pwm_motors();函数在其中。
作者: airman    时间: 2007-6-25 23:25

lz,不知是哪个学校的?想认识上海交大此次参加智能车比赛的同学,我九月也将成为交大学学生.真的很想参加智能车比赛,学习S12类的编程.

我的QQ:408491619




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