' SERIN.BS1
' This program waits for the characters "A", "B", "C", and "D" to arrive
' at the serial input (inverted, 2400 baud, N81), followed by a number,
' then a carriage-return or some other non-number character. The number is
' then displayed in the Debug window.
' {$STAMP BS1}
' {$PBASIC 1.0}
SYMBOL SIn = 0
SYMBOL Baud = N2400
SYMBOL result = W1
Main:
SERIN SIn, Baud, ("ABCD"), #result
DEBUG #result, CR
GOTO Main
END
NOTE: The example below is written for the BS2 and will run on any of the BS2-family modules. Modify the $STAMP directive (as required) before downloading to the BS2e, BS2sx, BS2p, BS2pe, or BS2px.
' SERIN_SEROUT1.BS2
' Using two BS2-IC's, connect the circuit shown in the SERIN command
' description and run this program on the BASIC Stamp designated as the
' Sender. This program demonstrates the use of Flow Control (FPin).
' Without flow control, the sender would transmit the whole word "Hello!"
' in about 1.5 ms. The receiver would catch the first byte at most; by the
' time it got back from the first 1-second PAUSE, the rest of the data
' would be long gone. With flow control, communication is flawless since
' the sender waits for the receiver to catch up.
' {$STAMP BS2}
' {$PBASIC 2.5}
SO PIN 1 ' serial output
FC PIN 0 ' flow control pin
#SELECT $STAMP
#CASE BS2, BS2E, BS2PE
T1200 CON 813
T2400 CON 396
T9600 CON 84
T19K2 CON 32
T38K4 CON 6
#CASE BS2SX, BS2P
T1200 CON 2063
T2400 CON 1021
T9600 CON 240
T19K2 CON 110
T38K4 CON 45
#CASE BS2PX
T1200 CON 3313
T2400 CON 1646
T9600 CON 396
T19K2 CON 188
T38K4 CON 84
#ENDSELECT
Inverted CON $4000
Open CON $8000
Baud CON T38K4 + Inverted
Main:
DO
SEROUT SO\FC, Baud, ["Hello!", CR] ' send the greeting
PAUSE 2500 ' wait 2.5 seconds
LOOP ' repeat forever
END
' SERIN_SEROUT2.BS2
' Using two BS2-IC's, connect the circuit shown in the SERIN command
' description and run this program on the BASIC Stamp designated as the
' Receiver. This program demonstrates the use of Flow Control (FPin).
' Without flow control, the sender would transmit the whole word "Hello!"
' in about 1.5 ms. The receiver would catch the first byte at most; by the
' time it got back from the first 1-second PAUSE, the rest of the data
' would be long gone. With flow control, communication is flawless since
' the sender waits for the receiver to catch up.
' {$STAMP BS2}
' {$PBASIC 2.5}
SI PIN 1 ' serial input
FC PIN 0 ' flow control pin
#SELECT $STAMP
#CASE BS2, BS2E, BS2PE
T1200 CON 813
T2400 CON 396
T9600 CON 84
T19K2 CON 32
T38K4 CON 6
#CASE BS2SX, BS2P
T1200 CON 2063
T2400 CON 1021
T9600 CON 240
T19K2 CON 110
T38K4 CON 45
#CASE BS2PX
T1200 CON 3313
T2400 CON 1646
T9600 CON 396
T19K2 CON 188
T38K4 CON 84
#ENDSELECT
Inverted CON $4000
Open CON $8000
Baud CON T38K4 + Inverted
letter VAR Byte
Main:
DO
SERIN SI\FC, Baud, [letter] ' recieve one byte
DEBUG letter ' display on screen
PAUSE 1000 ' wait one second
LOOP ' repeat forever
END
BASIC Stamp Help Version 2.5.4
Copyright © Parallax Inc.
8/8/2012