Herunterladen Inhalt Inhalt Diese Seite drucken

Die Header-Datei Ik320.H - HEIDENHAIN IK 320 Benutzerhandbuch

Vmebus-zählerkarte
Inhaltsverzeichnis

Werbung

9.3 Die Header-Datei IK320.H

/*----------------------IK320.H---------------------------------------
#define SUBDIVISION
#define IK_BASE_ADDRESS
#define INTERPOLATION_BITS 12
/*The ROTEC VMEbus interface converts VME interrupts to DOS
#define INTC1A0
#define INTC1A1
#define INTC2A0
#define INTC2A1
#define INT_NR
#define INT_MASK
#define EOI
/*--------------------------------------------------------------------
#define SWITCH_VME_TO_A24_ADDRESS_SPACE(switch) outport(ADR_REG,\
(short)((IK_BASE_ADDRESS + switch * 0x4000l) >> 8) & 0xFF80)
/*--------------------------------------------------------------------
#define SWITCH_VME_TO_A16_ADDRESS_SPACE(switch) outport(ADR_REG,\
((((short) ((switch & 0xE0) >> 5) * 0x2000) & 0x8000) >> 8 ) |0xFC00)
/*--------------------------------------------------------------------
#define CALCULATE_IK_ADDRESS(switch) \
/*--------------------------------------------------------------------
#define
/*--------------------------------------------------------------------
#define
#define
#define
#define
#define
#define
#define
#define
#define
DR. JOHANNES HEIDENHAIN GmbH, Traunreut, Germany
Header File for the Driver Unit IK320.C
V 1.00
September 1995
------------------------------------------------------------------*/
interrupt IRQ15. The following defines are addresses of
the DOS interrupt controllers.*/
0x20
0x21
0xa0
0xa1
Macro to switch VME to A24 memory space;
ROTEC specific code
------------------------------------------------------------------*/
Macro to switch VME to A16 memory space;
ROTEC specific code
------------------------------------------------------------------*/
Macro to calculate the IK address.
The code <& 0xFFFF) | 0x8000> is a ROTEC specific
address modification
------------------------------------------------------------------*/
(short)(((IK_BASE_ADDRESS + switch * 0x4000l)
Macro to calculate the IK group address.
The code <| 0x8000> is a ROTEC specific
address modification
------------------------------------------------------------------*/
CALCULATE_BAS_ADR_GROUP(switch) \
((short)((switch & 0xE0) >> 5) * 0x2000) | 0x8000
Addresses of Parameters
------------------------------------------------------------------*/
PAR_01_1
PAR_01_2
PAR_01_3
PAR_02_1
PAR_02_2
PAR_02_3
PAR_03
PAR_04_1
PAR_04_2
4096
0xC00000L
0x77
~0x80
0x20
0x0102
//Counting direction axis 1
0x0103
//Counting direction axis 2
0x0104
//Counting direction for axis comb.
0x0106
//Definition axis 1
0x0107
//Definition axis 2
0x0108
//Definition for axis combination
0x010A
//Bits of subdivision
0x010C
//Ref. mark spacing axis 1
0x010E
//Ref. mark spacing axis 2
//Dos Interrupt IRQ15
//Interrupt mask IRQ15
//End of Interrupt command
& 0xFFFF) | 0x8000)
! Á

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis