beautypg.com

Teridian proprietary – Maxim Integrated 71M6513H Power Meter IC Family Software User Manual

Page 52

background image

71M651x Software User’s Guide

es0_isr

Enable transmitter

rx==XON_

Flow control enabled && flow

control received.

RX interrupt

RI == TRUE?

RI=FALSE

rx0_status = S_OVERRUN

*rx0_head++ = rx0

rx0_free--

rx0=SBUF

rx=rx0 & 0x7F

xon_xoff_0 &&

(XON_ == rx || XOF_ ==

rx

tx0_stop ==TRUE

tx0_stop = FALSE

TI=TRUE

tx0_flow = TRUE

rx==XOF_

tx0_flow = FALSE

S_FULL == rx0_status

|| S_OVERRUN ==

rx0_status

Y

Y

Y

Y

Y

Y

N

N

N

A = rx0

parity_none_0 == 0?

Y

seven_bit0 ==TRUE

parity_none_0 == 0?

rx0_status=S_PARITY ERR

P != parity_odd_0?

rx0 &=0x7F

A = rx0

rx0_status=S_PARITY ERR

(RB8 ^ P) != parity_odd_0?

rx0_head = rx0_begin

rx0_head == rx0_end?

rx0_status = S_FULL

rx0_head == rx0_tail?

xon_xoff_0 && rx0_flow?

rx0_flow_off()

rx0_free < rx0_sixe_4?

TI == TRUE?

TI = FALSE

tx0_now()

rx=rx0 & 0x7F

Y

tx0?

tx0_status = S_EMPTY

tx0_done?

tx0_stop = TRUE

tx0 = *(tx0_tail++)

tx0_flow?

tx0_now()

tx0_tail = tx0_begin

tx0_tail ==tx0_end?

tx0_done = tx0_tail == tx0_head

tx0_status = S_PENDING

tx0_stop = TRUE

tx0_tail ==tx0_end?

END

TX interrupt

Figure 5-10: Serial 0 isr

Revision 2.4

TERIDIAN Proprietary

52 of 137

© Copyright 2005-2006 TERIDIAN Semiconductor Corporation