Jump to main content

##

# 2.27.12 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