1.25.5.6 DBGU_WriteCallbackRegister Function

C

/* Non-blocking mode */

void DBGU_WriteCallbackRegister( DBGU_CALLBACK callback, uintptr_t context )

/* Ring buffer mode */

void DBGU_WriteCallbackRegister( DBGU_RING_BUFFER_CALLBACK callback, uintptr_t context)

Summary

Sets the pointer to the function (and it's context) to be called when the given DBGU's write events occur.

Description

This function sets the pointer to a client function to be called "back" when the given DBGU's write events occur. It also passes a context value (usually a pointer to a context structure) that is passed into the function when it is called.

Precondition

DBGU_Initialize must have been called for the associated DBGU instance.

Parameters

Param Description
callback Pointer to the function to be called when the write transfer has completed. Setting this to NULL will disable the callback feature.
context A value (usually a pointer) passed (unused) into the function identified by the callback parameter.

Returns

None.

Example

Non-blocking mode

void DBGUWriteEventHandler ( uintptr_t context )
{
    if(DBGU_ErrorGet() != DBGU_ERROR_NONE)
    {
        //Handle error case
    }
    else
    {
        //Transfer completed successfully
    }
}

DBGU_WriteCallbackRegister(DBGUWriteEventHandler, (uintptr_t)NULL);

Ring buffer mode

bool txThresholdEventReceived = false;

void DBGUWriteEventHandler(DBGU_EVENT event, uintptr_t context )
{
    if (event == DBGU_EVENT_WRITE_THRESHOLD_REACHED)
    {
        txThresholdEventReceived = true;
    }
}

DBGU_WriteCallbackRegister(DBGUWriteEventHandler, (uintptr_t)NULL);

Remarks

None