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

SPI Programming Examples
SPI Programming Manual427506-006
E-20
Example E-6: Displaying SPI Buffer Contents With C
val = 'E';
if (err = SSPUTTKN (b1, tkn_4, &val))
display_spi_error (err, ZSPI_VAL_SSPUTTKN, tkn_4, 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);
printf ("After RESET BUFFER: \n");
dump_buf (b1);
/*
* Get the tokens in the SPI buffer "b1"
*/
get_count = 1;
if (err = SSGETTKN (b1, ZSPI_TKN_NEXTTOKEN, (char *) &tkn_code,
0, &get_count, (short *) &ssid))
display_spi_error (err, ZSPI_VAL_SSGETTKN,
ZSPI_TKN_NEXTTOKEN, true);
printf ("After 1st GETTKN NEXTTOKEN: Token = %ld", tkn_code);
display_token (tkn_code);
printf ("\n");
dump_buf (b1);
if (err = SSGETTKN (b1, ZSPI_TKN_NEXTTOKEN, (char *) &tkn_code,
0, &get_count, (short *) &ssid))
display_spi_error (err, ZSPI_VAL_SSGETTKN,
ZSPI_TKN_NEXTTOKEN, true);
printf ("After 2nd GETTKN NEXTTOKEN: Token = %ld", tkn_code);
display_token (tkn_code);
printf ("\n");
dump_buf (b1);
if (err = SSGETTKN (b1, ZSPI_TKN_NEXTTOKEN, (char *) &tkn_code,
0, &get_count, (short *) &ssid))
display_spi_error (err, ZSPI_VAL_SSGETTKN,
ZSPI_TKN_NEXTTOKEN, true);
printf ("After 3rd GETTKN NEXTTOKEN: Token = %ld", tkn_code);
display_token (tkn_code);
printf ("\n");
dump_buf (b1);
/* This should get an error (missing token) */
printf ("After GETTKN TKN_4: \n");
if (err = SSGETTKN (b1, tkn_4, &val, 1))
display_spi_error (err, ZSPI_VAL_SSGETTKN, tkn_4, false);
if (err = SSGETTKN (b1, tkn_3, &val, 2))
display_spi_error (err, ZSPI_VAL_SSGETTKN, tkn_3, true);
printf ("After GETTKN of 2nd TKN_3: %ld", tkn_code);
display_token (tkn_code);
printf ("\n");
dump_buf (b1);
if (err = SSGETTKN (b1, ZSPI_TKN_NEXTTOKEN, (char *) &tkn_code,
0, &get_count, (short *) &ssid))
display_spi_error (err, ZSPI_VAL_SSGETTKN,
ZSPI_TKN_NEXTTOKEN, true);
Example E-6. C File: Pointers, Lists, and ZSPI-TKN-NEXTTOKEN (page 2 of 3)