Unit UART
Return to Unit Reference
Description
UART (Universal Asynchronous Receiver Transmitter) devices represent the industry standard serial communications devices that are available on almost every system.
This unit implements the framework for UART devices and provides a standardized API to allow driver specific implementation to be abstracted. All UART devices are also represented as a serial device and this unit handles the relationship between the two devices.
Each UART device returns a set of properties that describe the capabilities of the device and includes a set of flags that indicate what features are supported.
Reads and writes to UART devices are unbuffered and simply pass raw data to and from the caller unless the serial interface is used instead which includes buffering of transmitted and received data. Both reads and writes allow for non blocking so that a caller can avoid waiting for received data to be available or the device to be ready to transmit.
Constants
To be documented
Type definitions
To be documented
Public variables
To be documented
Function declarations
Initialization functions
procedure UARTInit;
Note | Called only during system startup |
---|
UART functions
function UARTDeviceOpen(UART:PUARTDevice; BaudRate,DataBits,StopBits,Parity,FlowControl:LongWord):LongWord;
Note | None documented |
---|
function UARTDeviceClose(UART:PUARTDevice):LongWord;
Note | None documented |
---|
function UARTDeviceRead(UART:PUARTDevice; Buffer:Pointer; Size,Flags:LongWord;var Count:LongWord):LongWord;
Note | None documented |
---|
function UARTDeviceWrite(UART:PUARTDevice; Buffer:Pointer; Size,Flags:LongWord;var Count:LongWord):LongWord;
Note | None documented |
---|
function UARTDeviceStatus(UART:PUARTDevice):LongWord;
Note | None documented |
---|
function UARTDeviceProperties(UART:PUARTDevice; Properties:PUARTProperties):LongWord;
Note | None documented |
---|
function UARTDeviceCreate:PUARTDevice;
Return | Pointer to new UART entry or nil if UART could not be created |
---|
function UARTDeviceCreateEx(Size:LongWord):PUARTDevice;
Size | Size in bytes to allocate for new UART (Including the UART entry) |
---|---|
Return | Pointer to new UART entry or nil if UART could not be created |
function UARTDeviceDestroy(UART:PUARTDevice):LongWord;
Note | None documented |
---|
function UARTDeviceRegister(UART:PUARTDevice):LongWord;
Note | None documented |
---|
function UARTDeviceDeregister(UART:PUARTDevice):LongWord;
Note | None documented |
---|
function UARTDeviceFind(UARTId:LongWord):PUARTDevice;
Note | None documented |
---|
function UARTDeviceFindByName(const Name:String):PUARTDevice; inline;
Note | None documented |
---|
function UARTDeviceFindByDescription(const Description:String):PUARTDevice; inline;
Note | None documented |
---|
function UARTDeviceEnumerate(Callback:TUARTEnumerate; Data:Pointer):LongWord;
Note | None documented |
---|
function UARTDeviceNotification(UART:PUARTDevice; Callback:TUARTNotification; Data:Pointer; Notification,Flags:LongWord):LongWord;
Note | None documented |
---|
UART serial functions
function UARTSerialDeviceOpen(Serial:PSerialDevice; BaudRate,DataBits,StopBits,Parity,FlowControl,ReceiveDepth,TransmitDepth:LongWord):LongWord;
Note | None documented |
---|
function UARTSerialDeviceClose(Serial:PSerialDevice):LongWord;
Note | None documented |
---|
function UARTSerialDeviceRead(Serial:PSerialDevice; Buffer:Pointer; Size,Flags:LongWord; var Count:LongWord):LongWord;
Note | None documented |
---|
function UARTSerialDeviceWrite(Serial:PSerialDevice; Buffer:Pointer; Size,Flags:LongWord; var Count:LongWord):LongWord;
Note | None documented |
---|
function UARTSerialDeviceStatus(Serial:PSerialDevice):LongWord;
Note | None documented |
---|
function UARTSerialDeviceProperties(Serial:PSerialDevice; Properties:PSerialProperties):LongWord;
Note | None documented |
---|
UART helper functions
function UARTGetCount:LongWord; inline;
Note | None documented |
---|
function UARTDeviceGetDefault:PUARTDevice; inline;
Note | None documented |
---|
function UARTDeviceSetDefault(UART:PUARTDevice):LongWord;
Note | None documented |
---|
function UARTDeviceCheck(UART:PUARTDevice):PUARTDevice;
Note | None documented |
---|
procedure UARTLog(Level:LongWord;UART:PUARTDevice; const AText:String);
Note | None documented |
---|
procedure UARTLogInfo(UART:PUARTDevice; const AText:String); inline;
Note | None documented |
---|
procedure UARTLogError(UART:PUARTDevice; const AText:String); inline;
Note | None documented |
---|
procedure UARTLogDebug(UART:PUARTDevice; const AText:String); inline;
Note | None documented |
---|
UART serial helper functions
function UARTSerialDeviceReceive(UART:PUARTDevice):LongWord;
Note | None documented |
---|
function UARTSerialDeviceTransmit(UART:PUARTDevice):LongWord;
Note | None documented |
---|
Return to Unit Reference