Intel 386 Computer Hardware User Manual


 
Intel386™ EX EMBEDDED MICROPROCESSOR USER’S MANUAL
12-60
_SetEXRegByte(DMABSR, 0x51); /*DMABSR[7]=0: reserved*/
/*DMABSR[6]=1: sets req.’s bus size to 8-bit*/
/*DMABSR[5]=0: reserved*/
/*DMABSR[4]=1: sets tar.’s bus size to 8-bit*/
/*DMABSR[3:2]=0: reserved*/
/*DMABSR[0]=1: selections for bits 7-2*/
/* affect channel 1*/
_SetEXRegByte(DMACHR, 0x1); /*DMACHR[7:3]=0: reserved*/
/*DMACHR[2]=0: disable chaining buffer-xfer*/
/* mode*/
/*DMACHR[1]=0: reserved*/
/*DMACHR[0]=1: selections for bits 7-2 affect*/
/* channel 1*/
regDMAIE = _GetEXRegByte(DMAIEN) & 0x1;
_SetEXRegByte(DMAIEN, regDMAIE); /*DMAIE[7:2]=untouched: reserved*/
/*DMAIE[1]=0: masks channel 1’s transfer*/
/* complete signal from interrupt*/
/* controller*/
/*DMAIE[0]=untouched: channel 0 setting*/
regDMAOvfE = _GetEXRegByte(DMAOVFE) | 0xC;
_SetEXRegByte(DMAOVFE, regDMAOvfE); /*DMAOVFE[7:4]=untouched: reserved*/
/*DMAOVFE[3]=1: all bits of channel 1
/* req. address are inc/dec*/
/* (see DMAMOD[4])*/
/*DMAOVFE[2]=1: all bits of channel 1*/
/* target addr. are inc/dec*/
/*DMAOVFE[1:0]=untouched: channel 0*/
/* settings*/
SetDMAReqIOAddr(DMA_Channel1, TBR0); /*Sets Req. I/O address to Serial*/
/*Receiver*/
}
/*****************************************************************************
DMAInterrupt:
Description:
This function is called by the DMA unit when it either completes a
transfer or (in chaining xfer mode) when a new requester, target, and
byte count should be written to the device.
Parameters:
None
Returns:
None
Assumptions: