EmSACAN_Read
Prototype
emsacan_result_t EmSACAN_Read(
emsacan_handle_t Handle,
uint8_t ChannelNumber,
emsacan_msg_t *pMessage );
Description
Reads one CAN message from the receive path for the specified port.
Parameters
| Parameter | Direction | Type | Description |
|---|---|---|---|
Handle | in | emsacan_handle_t | Session handle from EmSACAN_Connect. |
ChannelNumber | in | uint8_t | Zero-based port index (0 … NumberofChannels−1). |
pMessage | out | emsacan_msg_t | Storage for the received frame. |
Return value
EMSACAN_OK if a message was read, EMSACAN_ERR_RXEMPTY if none available,
Example
emsacan_msg_t msg;
emsacan_result_t rc = EmSACAN_Read(handle, 0, &msg);
if (rc == EMSACAN_OK)
{
/* msg.id, msg.len, msg.data[], msg.timestamp, msg.type, msg.stat */
}
else if (rc == EMSACAN_ERR_RXEMPTY)
{
/* queue empty — poll again later */
}
