智能车制作

标题: xs128中断小问题 [打印本页]

作者: 山孩子    时间: 2010-1-14 09:20
标题: xs128中断小问题
EnableInterrupts; 这个不太懂是什么意思,似乎只要是禁止中断的地方,无论是那种中断,加上这句话就可以了,是这样的吗?
找了好久,都没找到这句话的宏定义,高手指点一下
作者: DEMOK    时间: 2010-1-14 10:00
EnableInterrupts 是使能所有中断,完成清除标志位的功能
作者: ssclark    时间: 2010-1-15 13:26
同楼上,DisableInterrupts 正好相反
作者: jiao19880804    时间: 2010-3-19 20:54
Re:跪求一定时中断程序
用主定时器,好像用定时器的通道不行!

跳不出中断程序,主定时器就可以。以下是定时启动,定时停止,和测速程序段。

unsigned int main_cnt=0;           //主定时器延时0.6s

/***********主定时器中断服务程序(实现0.6s的延时,测速)********/
#pragma CODE_SEG NON_BANKED
void interrupt  int_timeroverflow(void){
  if(main_cnt%100==0)
  {
    //main_cnt=0;
    //speed_data0=speed_data1;                //保存最近两次速度值(原来有问题)
    //speed_data1=speed_cnt;
    speed_data0=speed_cnt;
    speed_cnt=0;
    PORTB=0x00;
   }
   
if(main_cnt==610)                    //610*65535=8M*5 实现5秒定时
{
  speed(45);                    //速度太慢不能行走
  PWMDTY01=motor_middle;        //给通道0,1设置duty值(舵机正中)
  go=1;
}
if(main_cnt==6100)                    //610*65535=8M*50 实现50秒定时
{
  speed(0);                    //速度太慢不能行走
  PWMDTY01=motor_middle;        //给通道0,1设置duty值(舵机正中)
  go=0;
}
  main_cnt++;
  TFLG2_TOF  = 1;  //clear timer overflow flag
}

/**********通道5捕捉中断(测速)*******************************/
#pragma CODE_SEG NON_BANKED
interrupt void timerinput5(void){
  speed_cnt++;
  TFLG1_C5F=1;
}
/************************************************************/
作者: fifa_ke    时间: 2010-3-24 21:01
很好 谢谢
作者: 磁悬浮轴承    时间: 2013-5-31 10:23
EnableInterrupts 就是使能所有中断的意思
作者: ★奔/1孓亥★    时间: 2014-6-29 19:32
是的,,,
作者: 凌轩翼    时间: 2014-12-4 20:13
捕捉中断里TC0寄存器为什么没设值,定时溢出是怎么实现的?




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