comparison packages/io/serial/current/src/arm/aeb_serial.c @ 6:d376b777e2ce ecos-sw-1999-05-14

Merge from eCos master repository on 1999-05-14-19:27:43-BST
author jlarmour
date Fri, 14 May 1999 12:20:00 +0000
parents 443894e2e912
children 7253dcc42a09
comparison
equal deleted inserted replaced
5:4e8259f41183 6:d376b777e2ce
304 { 304 {
305 serial_channel *chan = (serial_channel *)data; 305 serial_channel *chan = (serial_channel *)data;
306 aeb_serial_info *aeb_chan = (aeb_serial_info *)chan->dev_priv; 306 aeb_serial_info *aeb_chan = (aeb_serial_info *)chan->dev_priv;
307 volatile struct serial_port *port = (volatile struct serial_port *)aeb_chan->base; 307 volatile struct serial_port *port = (volatile struct serial_port *)aeb_chan->base;
308 unsigned char isr; 308 unsigned char isr;
309 isr = port->isr; 309 isr = port->isr & 0x0E;
310 if ((isr & 0x0E) == ISR_Tx) { 310 if (isr == ISR_Tx) {
311 (chan->callbacks->xmt_char)(chan); 311 (chan->callbacks->xmt_char)(chan);
312 } else { 312 } else if (isr == ISR_Rx) {
313 // Assume receive interrupt
314 (chan->callbacks->rcv_char)(chan, port->rhr); 313 (chan->callbacks->rcv_char)(chan, port->rhr);
315 } 314 }
316 cyg_drv_interrupt_unmask(aeb_chan->int_num); 315 cyg_drv_interrupt_unmask(aeb_chan->int_num);
317 } 316 }
318 #endif 317 #endif