Author | Rob Hamerling, Copyright (c) 2008..2008, all rights reserved. |
Adapted-by | Joep Suijs |
Compiler | =2.4h |
Serial communications - receive and transmit data transfer is interrupt driven - receive and transmit data transfer uses circular buffers - automatic CTS flow control with spare free space for FiFo buffer
var byte _serial_offsetxmthead -- offset next byte from appl
var byte _serial_rcvbuf[SERIAL_RCVBUFSIZE] -- circular input buffer
var byte _serial_offsetxmttail -- offset next byte to port
var byte _serial_offsetrcvhead -- offset next byte from port
var byte _serial_offsetrcvtail -- offset next byte to appl
var bit serial_send_success -- serial_send_success is used internally to
var byte _serial_xmtbuf[SERIAL_XMTBUFSIZE] -- circular output buffer
serial_hw_read(byte out data) return bit
serial_hw_data'get() return byte
serial_receive_byte(byte out data) return bit
serial_send_byte(byte in data) return byte
var byte _serial_offsetxmthead -- offset next byte from appl
No documentation found
var byte _serial_rcvbuf[SERIAL_RCVBUFSIZE] -- circular input buffer
No documentation found
var byte _serial_offsetxmttail -- offset next byte to port
No documentation found
var byte _serial_offsetrcvhead -- offset next byte from port
No documentation found
var byte _serial_offsetrcvtail -- offset next byte to appl
No documentation found
var bit serial_send_success -- serial_send_success is used internally to
Declaration of internal flag
var byte _serial_xmtbuf[SERIAL_XMTBUFSIZE] -- circular output buffer
No documentation found
serial_init()
No documentation found
serial_hw_data'put(byte in data)
serial_hardware compatible interface
serial_hw_init()
serial_init - procedure to initialize library functionality
serial_hw_write(byte in data)
No documentation found
_serial_transmit_interrupt_handler()
UART - serial transmit interrupt handling
_serial_receive_interrupt_handler()
UART - serial receive interrupt handling
serial_hw_read(byte out data) return bit
Return byte (if any) from circular receive buffer for UART input: nothing output: received byte (if any) returns: true when byte returned false if no byte available notes: - Rises CTS when receive buffer has more thanbytes free space after delivering byte to caller.
serial_hw_data'get() return byte
No documentation found
serial_receive_byte(byte out data) return bit
No documentation found
serial_send_byte(byte in data) return byte
Put a single byte in circular transmit buffer for UART input: byte to transmit returns: transmitted byte (or 0x00 when data discarded) notes: - Activates transmit interrupt handler when data buffered - When buffer full act as indicated in 'serial_overflow_discard' * TRUE: discard data (and return 0x00 as data byte) * FALSE: wait for free buffer space (returns only after data has been stored in buffer)
sample | 16f88_serial_hw_int_cts_echo.jal |