SPI Programming Manual (G06.24+, H06.03+, J06.03+)

SPI Programming Examples
SPI Programming Manual427506-006
E-66
Example E-12: A Simple SPI Server in C
#pragma PAGE "PROC server MAIN"
/*
*======================================================================
* MAINLINE ROUTINE STARTS HERE. =
* =
*======================================================================
*/
main(/* int argc, char *argv[] */)
{
short l_reply_length;
short l_status;
initialization();
continue_flag = true;
do
{
/* Clear important fields */
memset (res_buffer, '0', sizeof (res_buffer));
memset (req_buffer, '0', sizeof (req_buffer));
/* Read a request message from $RECEIVE */
process_requests();
/* SEND reply buffer to $RECEIVE */
l_reply_length = max_bufsize;
if (file_error)
{
l_reply_length = 0;
}
l_status = REPLYX ((char *) &res_buffer[0], l_reply_length,
/*count_sent*/, /*tag*/, file_error);
if (l_status == CCL)
{
get_file_error (rcv_file_num);
continue_flag = false;
}
/* Clear important fields */
file_error = 0;
} while (continue_flag == true);
STOP();
} /* of main */
Example E-12. C File: A Simple SPI Server (page 12 of 12)