Intel 386 User Manual

Page 429

Advertising
background image

Intel386™ EX EMBEDDED MICROPROCESSOR USER’S MANUAL

13-30

/* Get Control Register Ready to disable */

SSControl &= (~SSIO_TX_ENAB);

// Clear the bit

/* Set Buffer to Character */

_SetEXRegWord(SSIOTBUF,Ch);

/* Enable Transmitter */

_SetEXRegByte(SSIOCON1, SSControl | SSIO_TX_ENAB);

/* Wait until Transmit Holding Buffer is empty */

while( !(_GetEXRegByte(SSIOCON1) & SSIO_THBE) );

for(i=0;i < 4000; i++) { // Delay so transmit begins before disable

_asm {

nop

}

}

/* Disable Transmitter */

_SetEXRegByte(SSIOCON1, SSControl);

}

else

// Slave, Transmitter MUST already be Enabled

{

/* Wait until Transmit Holding Buffer is empty */

while( !(_GetEXRegByte(SSIOCON1) & SSIO_THBE) );

_SetEXRegWord(SSIOTBUF,Ch);// Write to Buffer

}

}/* SSerialWriteWord */

/******************************************************************************

SSIO_ISR:

Description:

Interrupt Service Routine for SSIO generated interrupts. This ISR

identifies the cause of the interrupt and calls the appropriate

routine.

Parameters:

None

Returns:

None

Assumptions:

It is assumed that the Slave 8259 is operating in Fully Nested Mode.

If the Slave were in SMM, a Specific EOI would have to be sent to the

Advertising