1.1.9.4.11 DRV_USART_BufferStatusGet Function
C
DRV_USART_BUFFER_EVENT DRV_USART_BufferStatusGet ( const DRV_USART_BUFFER_HANDLE bufferHandle )
Summary
Returns the transmit/receive request status.
Description
This function can be used to poll the status of the queued buffer request if the application doesn't prefer to use the event handler (callback) function to get notified.
Precondition
DRV_USART_Open must have been called to obtain a valid opened device handle. Either the DRV_USART_ReadBufferAdd or DRV_USART_WriteBufferAdd function must have been called and a valid buffer handle returned.
Parameters
Param | Description |
---|---|
bufferhandle | Handle for the buffer of which the processed number of bytes to be obtained. |
Returns
Returns either pending, success or error event for the buffer. Pending means the buffer is queued but not serviced yet.
Example
// myAppObj is an application specific object. MY_APP_OBJ myAppObj; uint8_t mybuffer[MY_BUFFER_SIZE]; DRV_USART_BUFFER_HANDLE bufferHandle; DRV_USART_BUFFER_EVENT event; // myUSARTHandle is the handle returned // by the DRV_USART_Open function. DRV_USART_ReadBufferAdd( myUSARThandle, myBuffer, MY_BUFFER_SIZE, bufferHandle ); if(bufferHandle == DRV_USART_BUFFER_HANDLE_INVALID) { // Error handling here } //Check the status of the buffer //This call can be used to wait until the buffer is processed. while ((event = DRV_USART_BufferStatusGet(bufferHandle)) == DRV_USART_BUFFER_EVENT_PENDING); //Buffer is processed, check the event variable to determine if the buffer request //is executed successfully or not.
Remarks
This function returns error event if the buffer handle is invalid.