Section 7.  Installation 
 
 
 'Assign +/- Sign 
 For i=1 To 6 
 If OneMinData(i) < 0 Then 
 'Note: chr45 is - sign 
 OutFrag(i)=CHR(45) & FormatFloat(ABS(OneMinData(i)),"%05g") 
 Else 
 'Note: chr43 is + sign 
 OutFrag(i)=CHR(43) & FormatFloat(ABS(OneMinData(i)),"%05g") 
 EndIf 
 Next i 
 'Concatenate Printable ASCII string, then push string out RS-232  
 '(first 2 fields are ID, hhmm): 
 OutString = "01+0115." & "  02+"  & FormatFloat(rTime(4),"%02.0f") & _ 
 FormatFloat(rTime(5),"%02.0f") 
 OutString = OutString & "  03" & OutFrag(1) & "  04" & OutFrag(2) & _ 
 "  05" & OutFrag(3) 
 OutString = OutString & "  06" & OutFrag(4) & "  07" & OutFrag(5) & _ 
 CHR(13) & CHR(10) & "" 'add CR LF null 
 
 'Send printable ASCII string out RS-232 port 
 SerialOut(ComRS232,OutString,"",0,220) 
 EndIf 
 
 NextScan 
 
 
7.7.17.7 Serial I/O Q & A 
Q: I am writing a CR800 program to transmit a serial command that contains a 
null character.    The string to transmit is: 
CHR(02)+CHR(01)+"CWGT0"+CHR(03)+CHR(00)+CHR(13)+CHR(10) 
How does the logger handle the null character? 
Is there a way that we can get the logger to send this? 
A: Strings created with CRBasic are NULL terminated.    Adding strings together 
means the second string will start at the first null it finds in the first string. 
Use SerialOutBlock() instruction, which lets you send null characters, as shown 
below. 
SerialOutBlock(COMRS232, CHR(02) + CHR(01) + "CWGT0" + 
CHR(03),8) 
SerialOutBlock(COMRS232, CHR(0),1) 
SerialOutBlock(COMRS232, CHR(13) + CHR(10),2) 
 
Q: Please summarize when the CR800 powers the RS-232 port.    I get that there is 
an "always on" setting.    How about when there are beacons?    Does the 
SerialOpen() instruction cause other power cycles? 
A: The RS-232 port is left on under the following conditions: 
•  When the setting RS-232Power 
(p. 548) is set 
•  When a SerialOpen() with argument COMRS232 is used in the program