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

SPI Programming Examples
SPI Programming Manual427506-006
E-19
Example E-6: Displaying SPI Buffer Contents With C
Example E-6. C File: Pointers, Lists, and ZSPI-TKN-NEXTTOKEN (page 1 of 3)
/* File name: sec0206c
* SPI EXAMPLE C 2-6
* Figure 2-6. 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);
if (err = SSPUTTKN (b1, ZSPI_TKN_DATALIST))
display_spi_error (err, ZSPI_VAL_SSPUTTKN, ZSPI_TKN_DATALIST, true);
val = 'B';
if (err = SSPUTTKN (b1, tkn_2, &val))
display_spi_error (err, ZSPI_VAL_SSPUTTKN, tkn_2, 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_3, &val))
display_spi_error (err, ZSPI_VAL_SSPUTTKN, tkn_3, true);
if (err = SSPUTTKN (b1, ZSPI_TKN_ENDLIST))
display_spi_error (err, ZSPI_VAL_SSPUTTKN, ZSPI_TKN_ENDLIST, true);