Типа такого: void vBusHWportRxDestSet(/* Provide a memory to put received serial bus frame */
uint8_t uBusPortIdx, /* Serial bus port index which frame will be stored at given place */
uint8_t *puRxFrame, /* Memory address where to put a frame during a reception */
uint8_t uFrameSizeLimit) /* Size of memory to fit received frame. Longer frame will be truncated */
{
/* Prepare pointers for shorter critical section */
uint8_t **ppFrame = &BusPortFast[uBusPortIdx].puRxFrame;
uint8_t *pSize = &BusPortFast[uBusPortIdx].RxFrameSize;
__disable_irq(); /* Enter critical section */
*ppFrame = puRxFrame;
*pSize = uFrameSizeLimit;
__enable_irq(); /* Exit critical section */
}