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

SPI Programming Examples
SPI Programming Manual427506-006
E-12
Example E-4: Working With Lists in C
Example E-4: Working With Lists in C
Example E-4 on page E-13 demonstrates the basic buffer manipulation activities
illustrated in Figure 2-5
on page 2-22. The C program uses DSM Template Services to
display the contents of the buffer after each manipulation. Run the program to see SPI
procedure calls used to move in and out of an SPI list.
Source File
SEC0205C
Object File
SEC0205O
CALL writex (term, sline, @sp '-' @sline);
IF (err := ssgettkn (b1, tkn^6, val, 1)) THEN
CALL display^spi^error (err, zspi^val^ssgettkn, tkn^6, false);
IF (err := ssgettkn (b1, zspi^tkn^endlist)) THEN
CALL display^spi^error (err, zspi^val^ssgettkn, zspi^tkn^endlist, true);
!
! Reset the SPI buffer "b1"
!
IF (err := ssputtkn (b1, zspi^tkn^reset^buffer, bufsize)) THEN
CALL display^spi^error (err, zspi^val^ssputtkn,
zspi^tkn^reset^buffer, true);
sline ':=' "After GETTKN ENDLIST: " -> @sp;
CALL writex (term, sline, @sp '-' @sline);
CALL dump^buf (b1);
IF (err := ssgettkn (b1, tkn^6, val, 1)) THEN
CALL display^spi^error (err, zspi^val^ssgettkn, tkn^6, true);
sline ':=' "After GETTKN TKN^6: " -> @sp;
CALL writex (term, sline, @sp '-' @sline);
CALL dump^buf (b1);
sline ':=' "Program finished." -> @sp;
CALL writex (term, sline, @sp '-' @sline);
CALL stop;
END;
Example E-3. TAL File: Working With Lists (page 3 of 3)