智能车制作
标题:
中断该工作了
[打印本页]
作者:
startstart
时间:
2014-7-1 10:46
标题:
中断该工作了
中断不工作,求指导
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;//清中断标志位
}
作者:
startstart
时间:
2014-7-1 10:48
被这东西搞的头都大了,请各位大神指导,在线等,在此谢过了。
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2