Herunterladen Inhalt Inhalt Diese Seite drucken

HEIDENHAIN IK 320 Benutzerhandbuch Seite 51

Vmebus-zählerkarte
Inhaltsverzeichnis

Werbung

InitIk320
This function initializes the IK.
------------------------------------------------------------------*/
void InitIK320 (unsigned char ucDIP_Switch_I,
unsigned char ucDIP_Switch_II)
{
printf("\nInitialize IK 320
//Disable hardware interrupts
_disable();
//Save old interrupt vector
pOriginalInterruptVector = _dos_getvect(INT_NR);
//Set new interrupt vector
_dos_setvect(INT_NR,NewInterruptRoutine);
//Set interrupt controller mask
outp(INTC2A1,inp(INTC2A1) & INT_MASK);
outp(INTC1A1,inp(INTC1A1) & ~0x04);
//Set interrupt controller to End of Interrupt
outp(INTC2A0,EOI);
outp(INTC1A0,EOI);
//Enable hardware interrupts
_enable();
SWITCH_VME_TO_A24_ADDRESS_SPACE(ucDIP_Switch_II);
InitParams (ucDIP_Switch_II);//Set the parameters
staucInterruptFinished = 0;
MasterInterrupt(ucDIP_Switch_I, ucDIP_Switch_II, 0x0007);
do
{
if (extucErrorCode)
{
DisplayError();
return;
}
if (extucMessage)
{
DisplayMessage();
}
}
while (staucInterruptFinished == 0);//Wait for interrupt
}//End InitIk320
/*--------------------------------------------------------------------
InitParams
This function initializes the Parameters.
------------------------------------------------------------------*/
void InitParams (unsigned char ucDIP_Switch_II)
{
SetParam (ucDIP_Switch_II, PAR_01_1, 0x00,0);//Count. direct. axis 1
SetParam (ucDIP_Switch_II, PAR_01_2, 0x00,0);//Count. direct. axis 2
SetParam (ucDIP_Switch_II, PAR_01_3, 0x00,0);//Counting direction
SetParam (ucDIP_Switch_II, PAR_02_1, 0x01,0);//Definition axis 1
SetParam (ucDIP_Switch_II, PAR_02_2, 0x01,0);//Definition axis 2
SetParam (ucDIP_Switch_II, PAR_02_3, 0x01,0);//Definition axis comb.
//Number of bits for subdivision
SetParam (ucDIP_Switch_II, PAR_03
SetParam (ucDIP_Switch_II, PAR_04_1, 0x0000,0);//Ref. mark spacing 1
SetParam (ucDIP_Switch_II, PAR_04_2, 0x0000,0);//Ref. mark spacing 2
SetParam (ucDIP_Switch_II, PAR_05_1, 0x00008CA0,0);//Signal per. 1
SetParam (ucDIP_Switch_II, PAR_05_2, 0x00000800,0);//Signal per. 2
%02x\n",ucDIP_Switch_II);
//axis combination
, INTERPOLATION_BITS,0);
"Á

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis