1 input instruction set basics – Campbell Scientific CR3000 Micrologger User Manual
Page 210

Section 7. Installation
210
• BaudRrate — Baud rate mismatch is frequently a problem when developing
a new application. Check for matching baud rates. Some developers prefer to
use a fixed baud rate during initial development. When set to -nnnn (where
nnnn is the baud rate) or 0, auto baud-rate detect is enabled. Autobaud is
useful when using the CS I/O and RS-232 ports since it allows ports to be
simultaneously used for sensor and PC telecommunications.
• Format — Determines data type and if PakBus
®
communications can occur
on the COM port. If the port is expected to read sensor data and support
normal PakBus
®
telemetry operations, use an auto-baud rate argument (0 or -
nnnn) and ensure this option supports PakBus
®
in the specific application.
• BufferSize — The buffer holds received data until it is removed. SerialIn(),
SerialInRecord(), and SerialInBlock() instructions are used to read data
from the buffer to variables. Once data are in variables, string manipulation
instructions are used to format and parse the data.
SerialClose() must be used before SerialOpen() can be used again to reconfigure
the same serial port, or before the port can be used to communicate with a PC.
7.8.8.5.1 Input Instruction Set Basics
SerialOpen()
1
• Be aware of buffer size (ring memory)
• Closes PPP (if active)
• Returns TRUE or FALSE when set equal to a Boolean variable
SerialClose()
• Examples of when to close
o Reopen PPP
o Finished setting new settings in a Hayes modem
o Finished dialing a modem
• Returns TRUE or FALSE when set equal to a Boolean variable
SerialFlush()
• Puts the read and write pointers back to the beginning
• Returns TRUE or FALSE when set equal to a Boolean variable
SerialIn()
1
• Can wait on the string until it comes in
• Timeout is renewed after each character is received
• SerialInRecord() tends to obsolete SerialIn().
• Buffer-size margin (one extra record + one byte)
SerialInBlock()
1
• For binary data (perhaps integers, floats, data with NULL characters).
• Destination can be of any type.