- CommPort property: Set this numeric property to the desired communications port. Valid values are 1, 2, 3, or 4 depending on the serial ports available and the configuration of the individual computer. These values correspond to Com1, Com2, Com3, and Com4 respectively.
- Settings property: Set this character property to the baud rate, Parity, Data Bits, and Stop Bits required by the device connected to the serial port. This property is a character, comma-delimited list. For example, to set the serial port to 14,400 baud, Even Parity, 7 Data Bits, and 1 Stop Bit, set the string to:
- PortOpen property: Set this logical property to true to open communications to the serial port. You can also check this property to determine if the port opened correctly.
Technique one: Event-driven receiveThe event Driven technique generates an OnComm event when there are characters waiting in the input buffer. Also, the CommEvent property will contain a numeric 2. For the OnComm event to be triggered, you must set the Rthreshold property to a value other than zero (its default). The most common setting for the Rthreshold property is 1, meaning that the OnComm event is triggered if a minimum of one character is waiting in the input buffer.
For example, you can place the following code in the OnComm event to append received data to a property of a form called mybuffer:
IF This.CommEvent = 2
ThisForm.mybuffer = ThisForm.mybuffer + This.Input
Technique two: Polling the input bufferPolling the input buffer requires that the program periodically stop what it is doing and check to see if there are characters waiting in the input buffer. When using this technique, leave the Rthreshold property at 0 (its default value), and check the InBufferCount property to see if it is greater than zero, which indicates that there are characters waiting in the buffer.
Note Using a technique such as checking the length of the Input property results in lost characters because as soon as the Input property is accessed, the Input buffer is emptied. Use the InBufferCount property instead.
Assuming the Mscomm control is on the form and has the name MyCom and that there is a form property named mybuffer, the following code illustrates how to poll for waiting characters:
IF Thisform.MyCom.InBufferCount > 0
Thisform.mybuffer = Thisform.mybuffer + Thisform.MyCom.Input
Article ID: 140525 - Last Review: Jun 20, 2008 - Revision: 1