<> <> <> RS232Driver: DEFINITIONS = BEGIN BYTE: TYPE = [0..255]; Open: PUBLIC PROC[baudRate:CARDINAL] ; <> Read: PROC[] RETURNS[BYTE] = INLINE {UNTIL RXFull[] DO ENDLOOP; RETURN[RX[]]} ; Write: PROC[b:BYTE] = INLINE {TX[b]; UNTIL TXEmpty[] DO ENDLOOP} ; <> TX: PROC[b:BYTE] ; <> RX: PROC[] RETURNS[BYTE]; <> <<>> TXEmpty: PROC[] RETURNS[BOOLEAN]; <> RXFull: PROC[] RETURNS[BOOLEAN]; <> WriteString: PROC[string:LONG STRING]; <> WriteInt: PROC[int: INT, base: NAT _ 10, minDigits: NAT _ 1]; <> END.