首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

为了智能车--多个中断服务程序的运行---请教!

为了智能车--多个中断服务程序的运行---请教!

我用的是DG128,使用参加飞思卡尔智能车比赛赛会发的开发板。在程序,中想同时使用RTI和ECT0口分别对电机舵机控制和通过上升沿捕捉检测速度。在系统开始时,通过B口将8个LED点亮几次,然后进入主程序,如果同时打开RTI和ECT4程序虽然不跑飞,但是PWM周期会改变(本来在程序中是设置50HZ和1KHZ的PWM分别对舵机和电机控制)!而且单独开了RTI或是ECT4,同样是程序不跑飞,但是PWM周期会改变!如果两个中断服务都不打开,程序运行正常,产生的PWM周期正确!望版主和各位大侠指点小弟。
我附上了Project工程文件!
坚持和成功-我所能选择的!
我附上的Project工程文件!http://bbs.chinaecnet.com/uploadImages/Project2.rar
坚持和成功-我所能选择的!
现在我改了:把所有中断服务打开,但是把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波形周期也对了!是不是我在中断函数中调用其他的函数有错?该如何在中断服务程序中调函数!
望版主和各位大侠指点小弟。
坚持和成功-我所能选择的!
还有,我把interrupt 7 void RTI_isr(void){}中的read_road();pwm_motors();直接的全部发到interrupt 7 void RTI_isr(void){}中,还是会影响系统生成的PWM波形周期!
似乎中断程序运行太长了是么?
望版主和各位大侠指点小弟。
坚持和成功-我所能选择的!
原先你在RTI中断程序中也对PWM进行了操作吗?看到你有一个pwm_motors();函数在其中。
海纳百川  有容乃大
lz,不知是哪个学校的?想认识上海交大此次参加智能车比赛的同学,我九月也将成为交大学学生.真的很想参加智能车比赛,学习S12类的编程.

我的QQ:408491619
我是新来的
返回列表