Intel 386 Computer Hardware User Manual


 
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