Page 1 of 1

how to open multiple ports

Posted: Thu May 12, 2011 7:44 am
by mtajkov
how to open multiple ports simultaneously?

if I try:

nCom1 := OpenComm( "COM1", 1024 , 128)
nCom2 := OpenComm( "COM2", 1024 , 128)

then

nCom1=1
nCom2=1

Re: how to open multiple ports

Posted: Thu May 12, 2011 8:25 am
by Robert Frank
OpenPort() return handle of port

try:

COM_OPEN(1)
COM_OPEN(2)

Be sure that you have both of com ports installed in operating system






Function COM_OPEN(xPORT)
Local pNAME
Local nError,cDCB
Local xRESZTA:=.T.
Do Case
Case xPORT=1
pNAME:="COM1"
Case xPORT=2
pNAME:="COM2"
Case xPORT=3
pNAME:="COM3"
Case xPORT=4
pNAME:="COM4"
Case xPORT=5
pNAME:="COM5"
Case xPORT=6
pNAME:="COM6"
Case xPORT=7
pNAME:="COM7"
Case xPORT=8
pNAME:="COM8"
Case xPORT=9
pNAME:="COM9"
EndCase

hPORT:= OpenComm( pNAME, 2048, 2048 )
If ! BuildCommDcb( pNAME+cSPEED, @cDcb )
nError = GetCommError( hPORT )
MsgInfo( "BuildCommDcb Error: " + Str( nError ) )
xRESZTA:=.F.
EndIf
If ! SetCommState( hPORT, cDcb )
nError = GetCommError( hPORT )
MsgInfo( "SetCommState Error: " + Str( nError ) )
xRESZTA:=.F.
EndIf
If xRESZTA
oWND:oMSGBAR:cMSGDEF:=PNAME+" : Opened"
oWND:oMSGBAR:Refresh(.T.)
Else
oWND:oMSGBAR:cMSGDEF:=PNAME+" : Error"
oWND:oMSGBAR:Refresh(.T.)
EndIf
Return xRESZTA

Re: how to open multiple ports

Posted: Thu May 12, 2011 8:48 am
by mtajkov
The problem is that nCom1 and nCom2 have the same value. It is necessary that this value is different.

Re: how to open multiple ports

Posted: Thu May 12, 2011 9:10 am
by Robert Frank
Try to use my example and check what BuildCommDcb and GetCommError will say.

Re: how to open multiple ports

Posted: Thu May 12, 2011 12:35 pm
by mtajkov
definite problem is that it functions opncomm (.....) always returns the value 1. Why!? I do not know! I use FWH6.12

Re: how to open multiple ports

Posted: Thu May 12, 2011 7:43 pm
by Enrico Maria Giordano
mtajkov wrote:I use FWH6.12
Sorry but this is a way older FHW release. I don't think Fivetech is able to support it.

EMG