SCD128410QCE Intel, SCD128410QCE Datasheet - Page 95

no-image

SCD128410QCE

Manufacturer Part Number
SCD128410QCE
Description
Manufacturer
Intel
Datasheet

Specifications of SCD128410QCE

Pin Count
100
Lead Free Status / RoHS Status
Not Compliant

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
SCD128410QCE
Manufacturer:
INTEL
Quantity:
20 000
6.3.1.2
Datasheet
request */
not receive */
}
Once the code above locates an active request posted in the SVRR, it calls the appropriate
subroutine to service the request. The service routines follow.
Serial Receive Service
/* The receive service acknowledge cycle begins by reading the RIR. This register
contains the necessary information to switch the CD1284 into the correct service
acknowledge context. The RIR is saved for use at the end of the routine and then
copied into the CAR. The act of copying the RIR into the CAR forces the context
switch. The channel number requesting service is extracted from the RIR. The RIVR
register indicates whether the request is for good data or exception data and is
used to correctly handle the request. At the end of the service, the upper two bits
in the RIR are cleared causing the switch out of the service acknowledge context. */
service_rec( )
{
value */
*/
exception)*/
characters in FIFO */
chars */
}
char serv_type, save_rir, save_car, channel, status, char;
int
save_rir = inportb(RIR);
channel = save_rir & 0x03;
save_car = inportb(CAR);
outportb(CAR, save_rir);
serv_type = inportb(RIVR) & 0x07; /* read vector register; get type (good/
switch (serv_type) {
switch (status) {
}
char_count, i;
case 3:
case 1:
case 3:
case 5:
case 7:
case 0xF:
case 2:
case 6:
case 0xA:
case 0xE:
case 4:
case 0xC:
case: 8:
default:
char_count = inportb(RDCR);
for ( i = 1; i <= char_count; i++) {/* - read that number of
IEEE 1284-Compatible Parallel Interface Controller — CD1284
rx_stat = service_rec( );
return(rx_stat);
break;
tx_stat = service_txm( );
return(tx_stat);
break;
md_stat = service_mdm( );
return(md_stat);
break;
par_stat = service_par();
return(par_stat);
break;
break;
char = inportb(RDSR);
/* all values that include a receive
/* all values that include transmit but
/* modem service request */
/* parallel port service request */
/* can’t happen */
/* retrieve and save receive interrupt
/* extract channel number from the RIR*/
/* save CAR for restore */
/* switch CD1284 to service ack. context
/* good data service */
/* read char from FIFO */
/* get number of
95

Related parts for SCD128410QCE