Page 1 of 1
Comm port init
Posted: Sat Apr 15, 2006 3:26 pm
by pawelu
Antonio,
It's possible in FWPPC initiate comm port eg. baud=9600, parity=e, data=8, stop=1 before send data to port ?
Thanks
Pawel
Posted: Sat Apr 15, 2006 3:48 pm
by Antonio Linares
Pawel,
You have to use the Windows API SetCommState() function.
Posted: Wed May 10, 2006 9:55 am
by Raymond Fischbach
Antonio Linares wrote:Pawel,
You have to use the Windows API SetCommState() function.
Hello Antonio,
Could you please give us a small example on how to do it?
Where can I find doc on these functions?
Sorry for these basic questions but this is my first approach to Api and Dll calls.
Best regards,
Posted: Fri May 12, 2006 5:18 pm
by Antonio Linares
This is a sample:
Code: Select all
#include "FWCE.ch"
#define GENERIC_WRITE 0x40000000
#define OPEN_EXISTING 3
#define FILE_ATTRIBUTE_NORMAL 0x00000080
function Main()
local hComm := CreateFile( "COM1:",; // change the number as needed
GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL )
// baud=1200 parity=N data=8 stop=1
MsgInfo( SetComm( hComm, 1200, .f., 8, 1 ) )
CloseHandle( hComm )
return nil
#pragma BEGINDUMP
#include <windows.h>
#include <hbapi.h>
HB_FUNC( SETCOMM )
{
DCB dcb;
GetCommState( ( HANDLE ) hb_parnl( 1 ), &dcb );
dcb.BaudRate = hb_parnl( 2 );
dcb.Parity = hb_parl( 3 );
dcb.ByteSize = hb_parnl( 4 );
dcb.StopBits = hb_parnl( 5 );
hb_retl( SetCommState( ( HANDLE ) hb_parnl( 1 ), &dcb ) );
}
#pragma ENDDUMP
Posted: Fri May 12, 2006 6:05 pm
by Raymond Fischbach
Many thanks Antonio,
I will try it tomorrow.
Best Regards
Posted: Wed May 17, 2006 9:56 am
by Raymond Fischbach
Hi Antonio,
I tried it and it works like a charm
Many thanks again.
Raymond