beautypg.com

1 input instruction set basics – Campbell Scientific CR1000 Measurement and Control System User Manual

Page 205

background image

Section 7. Installation

205

 

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.