智能车制作
标题:
1ms中断
[打印本页]
作者:
linping9656
时间:
2012-3-17 14:46
标题:
1ms中断
清华的1ms中断里面的AD数据,速度数据是怎么获得啊?求高手讲解一下啊
void TI1_OnInterrupt(void){
int i;
g_nSpeedControlPeriod ++;
SpeedControlOutput();
g_nDirectionControlPeriod ++;
DirectionControlOutput();
if(g_n1MSEventCount >= CONTROL_PERIOD) {
g_n1MSEventCount = 0;
GetMotorPulse(); 读取两个电极脉冲计数值
} else if(g_n1MSEventCount == 1) {
for(i = 0; i < INPUT_VOLTAGE_AVERAGE; i ++)
SampleInputVoltage();//这个应该是AD数据处理吧
} else if(g_n1MSEventCount == 2) {
GetInputVoltageAverage();
AngleCalculate();
AngleControl();
MotorOutput();
} else if(g_n1MSEventCount == 3) {
g_nSpeedControlCount ++;
if(g_nSpeedControlCount >= SPEED_CONTROL_COUNT) {
SpeedControl();
g_nSpeedControlCount = 0;
g_nSpeedControlPeriod = 0;
}
} else if(g_n1MSEventCount == 4) {
g_nDirectionControlCount ++;
DirectionVoltageSigma();
if(g_nDirectionControlCount >= DIRECTION_CONTROL_COUNT) {
DirectionControl();
g_nDirectionControlCount = 0;
g_nDirectionControlPeriod = 0;
}
}
作者:
ListenHappy
时间:
2012-3-17 15:46
其实我都不知道他g_n1MSEventCount 这个变量是怎么变化!!!!
作者:
linping9656
时间:
2012-3-17 18:49
ListenHappy 发表于 2012-3-17 15:46
其实我都不知道他g_n1MSEventCount 这个变量是怎么变化!!!!
嗯,那个变量是用来控制每次进入中断时是执行那一部分命令的
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2