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

SPI Programming Examples
SPI Programming Manual427506-006
E-13
Example E-4: Working With Lists in C
Example E-4. C File: Working With Lists (page 1 of 2)
/* File name: sec0205c
* SPI EXAMPLE C 2-5
* Figure 2-5. Pointer Manipulation and lists
*/
#pragma symbols
#pragma inspect
#pragma nomap
#pragma nolmap
#define max_bufsize 256 /* in bytes */
#include "secc.h"
#pragma list
#include "seccutlc"
#pragma PAGE "MAIN"
main(/* int argc, char *argv[] */)
{
bufsize = max_bufsize;
/*
* Create the SPI buffer "b1"
*/
if (err = SSINIT (b1, bufsize, (short *) &ssid, ZSPI_VAL_CMDHDR))
display_spi_error (err, ZSPI_VAL_SSINIT, 0L, true);
val = 'A';
if (err = SSPUTTKN (b1, tkn_1, &val))
display_spi_error (err, ZSPI_VAL_SSPUTTKN, tkn_1, true);
val = 'B';
if (err = SSPUTTKN (b1, tkn_2, &val))
display_spi_error (err, ZSPI_VAL_SSPUTTKN, tkn_2, true);
if (err = SSPUTTKN (b1, ZSPI_TKN_DATALIST))
display_spi_error (err, ZSPI_VAL_SSPUTTKN, ZSPI_TKN_DATALIST, true);
val = 'C';
if (err = SSPUTTKN (b1, tkn_3, &val))
display_spi_error (err, ZSPI_VAL_SSPUTTKN, tkn_3, true);
val = 'D';
if (err = SSPUTTKN (b1, tkn_4, &val))
display_spi_error (err, ZSPI_VAL_SSPUTTKN, tkn_4, true);
val = 'E';
if (err = SSPUTTKN (b1, tkn_5, &val))
display_spi_error (err, ZSPI_VAL_SSPUTTKN, tkn_5, true);
if (err = SSPUTTKN (b1, ZSPI_TKN_ENDLIST))
display_spi_error (err, ZSPI_VAL_SSPUTTKN, ZSPI_TKN_ENDLIST, true);
val = 'F';
if (err = SSPUTTKN (b1, tkn_6, &val))
display_spi_error (err, ZSPI_VAL_SSPUTTKN, tkn_6, true);
/*
* Reset the SPI buffer "b1"
*/
if (err = SSPUTTKN (b1, ZSPI_TKN_RESET_BUFFER, (char *) &bufsize))
display_spi_error (err, ZSPI_VAL_SSPUTTKN,
ZSPI_TKN_RESET_BUFFER, true);