智能车制作
标题:
中断你该工作了
[打印本页]
作者:
startstart
时间:
2014-7-1 10:35
标题:
中断你该工作了
请指导一下,在线等。 void INT_Init(void)//定时中断初始化函数 50MS定时中断设置 { PITCFLMT_PITE=0; //定时中断模块关 PITCE=0x07;//定时器通道0,1,2使能 PITMTLD0=128-1;// 64m赫兹 128分频 每个周期2us PITLD0=1000-1;// 2us*2000=2ms PITLD1=500-1; // 2us* 500=1 ms PITLD2=12500-1; // 25 ms
打开这句话编码器工作,ccd不工作,屏蔽掉ccd工作,编码器不正常工作
PITINTE=0x07;//定时器中断通道0中断使能 PITCFLMT_PITE=1;//定时器通道使能 }#pragma CODE_SEG __NEAR_SEG NON_BANKED/*************************************************************************//函数名: PIT0//输入: NONE //输出: NONE//改变全局变量:AD_Value SenA,SenB System_Feed_Speed//作用: 4MS内部中断,完成AD扫描,电机策略,舵机策略等等主要的赛车控制****************************************************************************/void interrupt 68 PIT1(void) // 1ms{ static unsigned char TimerCnt20ms = 0; unsigned char integration_piont; PITTF_PTF1=1;//清中断标志位 mm++; TimerCnt20ms++;
/* 根据曝光时间计算20ms周期内的曝光点 */ integration_piont = 20 - IntegrationTime; if(integration_piont >= 2) { /* 曝光点小于2(曝光时间大于18ms)则不进行再曝光 */ if(integration_piont == TimerCnt20ms) StartIntegration(); /* 曝光开始 */ }
if(TimerCnt20ms >= 10) { TimerCnt20ms = 0; TimerFlag20ms = 1; } if(TimerFlag20ms == 1) { TimerFlag20ms = 0; Integration(Pixel); //获得像素值 } if(mm==1) //中断计数为1 时 { mm=0; if(t1==0) { t2++; CalculateIntegrationTime(); //开始曝光 //跳入自适应曝光 if(t2==800) { t1=2; t2=0; } } }} void interrupt 66 PIT0(void) // 2ms { PITTF_PTF0=1;//清中断标志位 nn++; Servo_PID(); //舵机PID } } if(mnn=31{ System_Feed_Speed=PACNT; //获得速度 //清中断标志位 // PITTF_PTF0=1; PACNT=0X0000; //而后清0寄存器 } else if(nn==22{ Moto_PID(); //调节电机速度 这个函数在MOTER? //System_Feed_Speed=PACNT; //获得速度 //清中断标志位 // PITTF_PTF0=1; //PACNT=0X0000; //而后清0寄存器 } else if(nn==53{ nn=0; get_black_wire11(); } } void interrupt 67 PIT2(void) //25ms{ //static int i; PITTF_PTF2=1;//清中断标志位 }
作者:
GVC
时间:
2014-7-1 16:48
亲,请先把程序排版好,不然别人怎么帮你看
作者:
〃淺念ぐ
时间:
2014-7-1 17:44
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2