Purebasic Serial Port Example

  1. Purebasic Serial Port Examples
  2. Purebasic Serial Port Example List
  3. Parallel Port
  4. Serial Port Arduino
Page 1 of 1
[ 11 posts ]
  • Google golang serial port. PureBasic is a modern BASIC programming language. The key features of PureBasic are portability (Windows, Linux and OS X.
  • Blog post Serial RS232 connections in Python. Import time import serial # configure the serial connections (the parameters differs on the device you are connecting to) ser = serial.Serial( port='/dev/ttyUSB1', baudrate=9600, parity=serial.PARITYODD, stopbits=serial.STOPBITSTWO, bytesize=serial.SEVENBITS ) ser.isOpen print 'Enter your commands below.rnInsert 'exit' to leave.

Code updated for 5.20+. The SerialPort library can handle this as well. After answering the same boring questions again, i have written these small example how to read and receive Data over the serial Connector(ComPort) with only API's and with a Timer driven non blocking Receiving. I have 3 questions: may I use the serial port (COM1/COM2) with PureBasic (using some lib/functions or Windows-API)? Is the.dll support, working fine? I saw PureBasic has inner functions to call Direct-X, in your opinion is faster than BlitzBasic or not? Thank you in advance for informations.

Serial
Print viewPrevious topic | Next topic
AuthorMessage
Posted: Mon Oct 17, 2005 10:46 am
User

Joined: Sat Jun 11, 2005 3:38 am
Posts: 67
Location: Western Kentucky
I know that PureBasic doesn't natively support serial communications, but I was wondering if anyone had any sample code where they used PureBasic to access the Windows API to read from a RS-232 connection.
I have a sensor that I need to access thru the Com Port. I don't need to write to it, just read the data the sensor is sending. I do know that for this device that it may not work if I have Flow Control enabled.
If anyone can help me it will be great appreciated.
Thanks.

_________________
PB and PureVision XP Registered.
www.michaelwhitt.com


Top
Posted: Mon Oct 17, 2005 12:01 pm
Enthusiast

Joined: Fri Apr 25, 2003 4:00 pm
Posts: 103
Location: France
Here is a library built for managing the rs232 port:
http://perso.wanadoo.fr/marc.vitry/purebasic

_________________
Dominique
Windows 10 64bits. Pure basic 32bits


Top
Posted: Mon Oct 17, 2005 12:06 pm
User

Joined: Sat Jun 11, 2005 3:38 am
Posts: 67
Location: Western Kentucky
Thank you I will check it out. My French isn't that good so I might have to ask for some more help. But I think this will help.

_________________
PB and PureVision XP Registered.
www.michaelwhitt.com


Top
Posted: Mon Oct 17, 2005 2:17 pm
Addict

Joined: Mon Sep 20, 2004 3:52 pm
Posts: 1648

Last edited by dracflamloc on Mon Oct 17, 2005 4:32 pm, edited 1 time in total.

Top
Post subject:
Enthusiast

Joined: Fri Apr 25, 2003 6:51 pm
Posts: 778
Location: NC, USA
There is likely something in my code available at
http://elfecc.no-ip.info/purebasic/index.html#Info_SerialPorts
that will help you.


Top
Posted: Tue Oct 18, 2005 2:30 pm
Addict

Joined: Fri Jul 02, 2004 6:49 pm
Posts: 854
Location: Australia
Here is a bit of code you may like to take a quick look at.
It may be a bit rough as I have pretty much cut & pasted from another app I have made. I have also placed the connection, Rx, etc stuff into procedures to hopefully make it easy for you to work out.
It was written using the MVCom lib DominiqueB posted you about earlier.
Hope this might help you just a little.
;
; MVCom lib required for this code to work.
; Tested using Null modem cable configuration to defeat handshaking
; Db9 @ pc: p2-Rx to Tx on device, p5-gnd to gnd on device,p1p4p6- linked together on Db9
; hope this helps a little For you...
; Regards, Baldrick :)
#winw=500:#winh=400:#winx = 0:#winy= 0:pgmname.s='Quick Rs232 ComPort Connect / Receive'
Enumeration
#mainWindow
#Menu1
#Mexit
#Container1
#Connect
#Disconnect
#DataScreen
#StatusBar
EndEnumeration
MyConnection$='COM1:9600,N,8,1' ; set this string to reflect your desired ComPort settings
Procedure Inserteditortext(editorgadget,results$)
ProcedureReturn SendMessage_(GadgetID(editorgadget),#EM_REPLACESEL,0,results$)
EndProcedure
Procedure Connect(PortDesc$)
Connection=ComOpen(PortDesc$,0,256,256); handshake set as 'none', in & out buffers work fine
If Connection<1 ; with a value of 1 in my tests
MessageRequester('Connection Fail','Please check ComPort settings & try again',16)
EndIf
ProcedureReturn Connection ; this will be comportId - 0 if fail
EndProcedure
Procedure Disconnect(Connection)
If Connection
ComClose(Connection)
Connection=0
EndIf
ProcedureReturn Connection ; 0 = successfully closed comport
EndProcedure
Procedure.s Rx(Connection)
cominput$=' ; must always give the cominput string a value else it will fail to retrieve
If Connection ; any data. - A small bug in the MVCOM lib
While ComInputBufferCount(Connection) ;if data in buffer
If ComInput(Connection,cominput$) ; retrieve data from buffer
inputconversion=Asc(cominput$) ; not sure why, but I have always had to do this
Rx$=Chr(inputconversion) ; to get correct character return ??
Debug cominput$
ProcedureReturn Rx$
EndIf
Wend
EndIf
EndProcedure
mainwin.l = OpenWindow(#mainWindow,#winx,#winy,#winw,#winh,#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_MaximizeGadget | #PB_Window_ScreenCentered,pgmname)
If mainwin
CreateMenu(#Menu1, mainwin)
MenuTitle('&File')
MenuItem(#Mexit, '&Exit'):AddKeyboardShortcut(#mainWindow,#PB_Shortcut_Escape ,#Mexit)
CreateGadgetList(mainwin)
ContainerGadget(#Container1,10,10,10,10,#PB_Container_Flat)
ButtonGadget(#Connect,70,10,50,20,'Connect')
ButtonGadget(#Disconnect,130,10,60,20,'Disconnect')
EditorGadget(#Datascreen,10,70,80,20)
CloseGadgetList()
If CreateStatusBar(#Statusbar,mainwin)
StatusBarText(#StatusBar,0, 'Not Connected: '+MyConnection$)
EndIf
EndIf
Repeat
EventId.l=WindowEvent()
timer+1:If timer>100:timer=0:Delay(1):Else:Delay(0):EndIf
Win1Width = WindowWidth():Win1Height = WindowHeight()
If win1Width<>win1WidthA Or Win1Height<>Win1HeightA
ResizeGadget(#Container1, 10, 10, win1Width-20, win1Height-55)
ResizeGadget(#DataScreen,10,40, win1Width-55,win1height-125)
win1widthA=win1width:Win1HeightA=Win1Height
EndIf
If Myconnection ; if connection is open
MyDat$=Rx(Myconnection) ;look to see if anything received
insert$=insert$+MyDat$
If MyDat$=Chr(10) ; do something with retrieved data
inserteditortext(#Datascreen,insert$); in this case when 'Line feed' character, insert string
insert$=' ; into editor gadget, then reset string to'
EndIf
EndIf
If EventId=#PB_EventMenu
Select EventMenuID()
Case #MExit
quit=1
EndSelect
EndIf
If EventId=#PB_EventGadget
Select EventGadgetID()
Case #Connect
Myconnection=Connect(MyConnection$)
If Myconnection
StatusBarText(#StatusBar,0, 'Connected: '+MyConnection$)
EndIf
Debug 'If Connection > 0 ComPort is open - '+Str(MyConnection)
Case #Disconnect
Myconnection=Disconnect(Myconnection)
If Myconnection=0
StatusBarText(#StatusBar,0, 'Not Connected: '+MyConnection$)
EndIf
Debug ' If Connection = 0, comport is closed - '+Str(MyConnection)
EndSelect
EndIf
If eventid=#PB_Event_CloseWindow:quit=1:EndIf
Until quit=1
If Myconnection ; if connection is still open, then close it to be sure to free memory
Debug 'Connection '+Str(Myconnection)+' still open ,now closing'
Myconnection=Disconnect(Myconnection)
Debug 'Connection: '+Str(Myconnection)
Debug 'You should disconnect before closing window'
EndIf
End


Top
Posted: Wed Oct 19, 2005 3:54 am
User

Joined: Sat Jun 11, 2005 3:38 am
Posts: 67
Location: Western Kentucky
Baldrick,
Thanks for the example, It will tell me it's connected but I am still not getting any output but I can put a sniffer on the port and see that there is output from the sensor. Maybe I am doing something wrong. Thanks for the code, I will look further into it.
Here is a bit of code you may like to take a quick look at.
It may be a bit rough as I have pretty much cut & pasted from another app I have made. I have also placed the connection, Rx, etc stuff into procedures to hopefully make it easy for you to work out.
It was written using the MVCom lib DominiqueB posted you about earlier.
Hope this might help you just a little.
;
; MVCom lib required for this code to work.
; Tested using Null modem cable configuration to defeat handshaking
; Db9 @ pc: p2-Rx to Tx on device, p5-gnd to gnd on device,p1p4p6- linked together on Db9
; hope this helps a little For you...
; Regards, Baldrick :)
#winw=500:#winh=400:#winx = 0:#winy= 0:pgmname.s='Quick Rs232 ComPort Connect / Receive'
Enumeration
#mainWindow
#Menu1
#Mexit
#Container1
#Connect
#Disconnect
#DataScreen
#StatusBar
EndEnumeration
MyConnection$='COM1:9600,N,8,1' ; set this string to reflect your desired ComPort settings
Procedure Inserteditortext(editorgadget,results$)
ProcedureReturn SendMessage_(GadgetID(editorgadget),#EM_REPLACESEL,0,results$)
EndProcedure
Procedure Connect(PortDesc$)
Connection=ComOpen(PortDesc$,0,256,256); handshake set as 'none', in & out buffers work fine
If Connection<1 ; with a value of 1 in my tests
MessageRequester('Connection Fail','Please check ComPort settings & try again',16)
EndIf
ProcedureReturn Connection ; this will be comportId - 0 if fail
EndProcedure
Procedure Disconnect(Connection)
If Connection
ComClose(Connection)
Connection=0
EndIf
ProcedureReturn Connection ; 0 = successfully closed comport
EndProcedure
Procedure.s Rx(Connection)
cominput$=' ; must always give the cominput string a value else it will fail to retrieve
If Connection ; any data. - A small bug in the MVCOM lib
While ComInputBufferCount(Connection) ;if data in buffer
If ComInput(Connection,cominput$) ; retrieve data from buffer
inputconversion=Asc(cominput$) ; not sure why, but I have always had to do this
Rx$=Chr(inputconversion) ; to get correct character return ??
Debug cominput$
ProcedureReturn Rx$
EndIf
Wend
EndIf
EndProcedure
mainwin.l = OpenWindow(#mainWindow,#winx,#winy,#winw,#winh,#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_MaximizeGadget | #PB_Window_ScreenCentered,pgmname)
If mainwin
CreateMenu(#Menu1, mainwin)
MenuTitle('&File')
MenuItem(#Mexit, '&Exit'):AddKeyboardShortcut(#mainWindow,#PB_Shortcut_Escape ,#Mexit)
CreateGadgetList(mainwin)
ContainerGadget(#Container1,10,10,10,10,#PB_Container_Flat)
ButtonGadget(#Connect,70,10,50,20,'Connect')
ButtonGadget(#Disconnect,130,10,60,20,'Disconnect')
EditorGadget(#Datascreen,10,70,80,20)
CloseGadgetList()
If CreateStatusBar(#Statusbar,mainwin)
StatusBarText(#StatusBar,0, 'Not Connected: '+MyConnection$)
EndIf
EndIf
Repeat
EventId.l=WindowEvent()
timer+1:If timer>100:timer=0:Delay(1):Else:Delay(0):EndIf
Win1Width = WindowWidth():Win1Height = WindowHeight()
If win1Width<>win1WidthA Or Win1Height<>Win1HeightA
ResizeGadget(#Container1, 10, 10, win1Width-20, win1Height-55)
ResizeGadget(#DataScreen,10,40, win1Width-55,win1height-125)
win1widthA=win1width:Win1HeightA=Win1Height
EndIf
If Myconnection ; if connection is open
MyDat$=Rx(Myconnection) ;look to see if anything received
insert$=insert$+MyDat$
If MyDat$=Chr(10) ; do something with retrieved data
inserteditortext(#Datascreen,insert$); in this case when 'Line feed' character, insert string
insert$=' ; into editor gadget, then reset string to'
EndIf
EndIf
If EventId=#PB_EventMenu
Select EventMenuID()
Case #MExit
quit=1
EndSelect
EndIf
If EventId=#PB_EventGadget
Select EventGadgetID()
Case #Connect
Myconnection=Connect(MyConnection$)
If Myconnection
StatusBarText(#StatusBar,0, 'Connected: '+MyConnection$)
EndIf
Debug 'If Connection > 0 ComPort is open - '+Str(MyConnection)
Case #Disconnect
Myconnection=Disconnect(Myconnection)
If Myconnection=0
StatusBarText(#StatusBar,0, 'Not Connected: '+MyConnection$)
EndIf
Debug ' If Connection = 0, comport is closed - '+Str(MyConnection)
EndSelect
EndIf
If eventid=#PB_Event_CloseWindow:quit=1:EndIf
Until quit=1
If Myconnection ; if connection is still open, then close it to be sure to free memory
Debug 'Connection '+Str(Myconnection)+' still open ,now closing'
Myconnection=Disconnect(Myconnection)
Debug 'Connection: '+Str(Myconnection)
Debug 'You should disconnect before closing window'
EndIf
End

_________________
PB and PureVision XP Registered.
www.michaelwhitt.com


Top
Posted: Wed Oct 19, 2005 1:24 pm
Addict

Joined: Fri Jul 02, 2004 6:49 pm
Posts: 854
Location: Australia
mlwhitt,
Hope this doesnt sound too obvious, but have you tried an emulator program such as 'HyperTerminal' with your sensor?
That is how I would normally start with a project requiring Rs232 communications. When you know your device is communicating with your computer using your emulator then you straight away know that cables, etc are correct and you can start looking into your code from there.


Top
Posted: Wed Oct 19, 2005 4:18 pm
User

Joined: Sat Jun 11, 2005 3:38 am
Posts: 67
Location: Western Kentucky
Baldrick,
Actually I have confirmed it with the bundled application, and a couple different terminal programs. It is working. It is sending the tempature correctly. So I am sure the cables and all are working correctly. Thanks for the tip though.
mlwhitt,
Hope this doesnt sound too obvious, but have you tried an emulator program such as 'HyperTerminal' with your sensor?
That is how I would normally start with a project requiring Rs232 communications. When you know your device is communicating with your computer using your emulator then you straight away know that cables, etc are correct and you can start looking into your code from there.

_________________
PB and PureVision XP Registered.
www.michaelwhitt.com


Top
Posted: Thu Oct 20, 2005 12:37 am
User

Joined: Fri Apr 25, 2003 4:48 pm
Posts: 23
Location: Germany
Here simple code snippets to do com port with windows api calls.
Hope that helps.
;r = CreateFile_('COM1:',#GENERIC_READ | GENERIC_WRITE,0,#NULL,#OPEN_EXISTING,0,#NULL)
devCB.DCB
r = OpenFile(0,'COM2:')
; use this to verify com port
If r
If GetCommState_(r,devCB)
SomeResults.s = 'Baud rate = '+Str(devCBBaudRate)+Chr(10)
SomeResults = SomeResults + 'Data Bits = '+Str(devCBByteSize)+Chr(10)
SomeResults = SomeResults + 'Parity = '+Str(devCBParity)+' (0-4=no,odd,even,mark,space)'+Chr(10)
SomeResults = SomeResults + 'Stop Bits = '+Str(devCBStopBits)+' (0,1,2 = 1, 1.5, 2)'+Chr(10)
MessageRequester('COM Port Test',SomeResults,0)
Else
MessageRequester('COM Port Test','Couldn't get COM port settings',0)
EndIf
Else
MessageRequester('COM Port Test','Couldn't open COM port',0)
EndIf
End
; use this to set com port
Comsettings$ ='19200,n,8,1'
retval = BuildCommDCB_(Comsettings$, devCB)
retval = SetCommState_(r, devCB)
FlushFileBuffers_(r)
; use this to read com port
Structure rx
byte1.b
byte2.b
byte3.b
EndStructure
*prx.rx = @rx
rbytes = 0 ;Bytes recived
ret = ReadFile_(r, *prx.rx, rxbytes, @rbytes, 0)
; r = handle of file to read
; *prx.rx = address of buffer that receives Data (structure for example)
; rxbytes = number of bytes to read
; @rbytes = address of number of bytes read
; close com port
ret = CloseHandle_(r)
; here the full structure of devCB.DCB (W32 programmers reference)
; perhaps you need to adjust your flow control
; typedef struct _DCB { // dcb
;
; DWORD DCBlength; // sizeof(DCB)
; DWORD BaudRate; // current baud rate
; DWORD fBinary: 1; // binary mode, no EOF check
; DWORD fParity: 1; // enable parity checking
; DWORD fOutxCtsFlow:1; // CTS output flow control
; DWORD fOutxDsrFlow:1; // DSR output flow control
; DWORD fDtrControl:2; // DTR flow control type
; DWORD fDsrSensitivity:1; // DSR sensitivity
; DWORD fTXContinueOnXoff:1; // XOFF continues Tx
;
; DWORD fOutX: 1; // XON/XOFF out flow control
; DWORD fInX: 1; // XON/XOFF in flow control
; DWORD fErrorChar: 1; // enable error replacement
; DWORD fNull: 1; // enable null stripping
; DWORD fRtsControl:2; // RTS flow control
; DWORD fAbortOnError:1; // abort reads/writes on error
; DWORD fDummy2:17; // reserved
; WORD wReserved; // not currently used
; WORD XonLim; // transmit XON threshold
;
; WORD XoffLim; // transmit XOFF threshold
; BYTE ByteSize; // number of bits/byte, 4-8
; BYTE Parity; // 0-4=no,odd,even,mark,space
; BYTE StopBits; // 0,1,2 = 1, 1.5, 2
; char XonChar; // Tx and Rx XON character
; char XoffChar; // Tx and Rx XOFF character
; char ErrorChar; // error replacement character
; char EofChar; // end of input character
; char EvtChar; // received event character
;
; WORD wReserved1; // reserved; do not use
; } DCB;


Top
Posted: Thu Oct 20, 2005 1:42 am
User

Joined: Sat Jun 11, 2005 3:38 am
Posts: 67
Location: Western Kentucky
Thanks, I will check this out right now.
Here simple code snippets to do com port with windows api calls.
Hope that helps.
;r = CreateFile_('COM1:',#GENERIC_READ | GENERIC_WRITE,0,#NULL,#OPEN_EXISTING,0,#NULL)
devCB.DCB
r = OpenFile(0,'COM2:')
; use this to verify com port
If r
If GetCommState_(r,devCB)
SomeResults.s = 'Baud rate = '+Str(devCBBaudRate)+Chr(10)
SomeResults = SomeResults + 'Data Bits = '+Str(devCBByteSize)+Chr(10)
SomeResults = SomeResults + 'Parity = '+Str(devCBParity)+' (0-4=no,odd,even,mark,space)'+Chr(10)
SomeResults = SomeResults + 'Stop Bits = '+Str(devCBStopBits)+' (0,1,2 = 1, 1.5, 2)'+Chr(10)
MessageRequester('COM Port Test',SomeResults,0)
Else
MessageRequester('COM Port Test','Couldn't get COM port settings',0)
EndIf
Else
MessageRequester('COM Port Test','Couldn't open COM port',0)
EndIf
End
; use this to set com port
Comsettings$ ='19200,n,8,1'
retval = BuildCommDCB_(Comsettings$, devCB)
retval = SetCommState_(r, devCB)
FlushFileBuffers_(r)
; use this to read com port
Structure rx
byte1.b
byte2.b
byte3.b
EndStructure
*prx.rx = @rx
rbytes = 0 ;Bytes recived
ret = ReadFile_(r, *prx.rx, rxbytes, @rbytes, 0)
; r = handle of file to read
; *prx.rx = address of buffer that receives Data (structure for example)
; rxbytes = number of bytes to read
; @rbytes = address of number of bytes read
; close com port
ret = CloseHandle_(r)
; here the full structure of devCB.DCB (W32 programmers reference)
; perhaps you need to adjust your flow control
; typedef struct _DCB { // dcb
;
; DWORD DCBlength; // sizeof(DCB)
; DWORD BaudRate; // current baud rate
; DWORD fBinary: 1; // binary mode, no EOF check
; DWORD fParity: 1; // enable parity checking
; DWORD fOutxCtsFlow:1; // CTS output flow control
; DWORD fOutxDsrFlow:1; // DSR output flow control
; DWORD fDtrControl:2; // DTR flow control type
; DWORD fDsrSensitivity:1; // DSR sensitivity
; DWORD fTXContinueOnXoff:1; // XOFF continues Tx
;
; DWORD fOutX: 1; // XON/XOFF out flow control
; DWORD fInX: 1; // XON/XOFF in flow control
; DWORD fErrorChar: 1; // enable error replacement
; DWORD fNull: 1; // enable null stripping
; DWORD fRtsControl:2; // RTS flow control
; DWORD fAbortOnError:1; // abort reads/writes on error
; DWORD fDummy2:17; // reserved
; WORD wReserved; // not currently used
; WORD XonLim; // transmit XON threshold
;
; WORD XoffLim; // transmit XOFF threshold
; BYTE ByteSize; // number of bits/byte, 4-8
; BYTE Parity; // 0-4=no,odd,even,mark,space
; BYTE StopBits; // 0,1,2 = 1, 1.5, 2
; char XonChar; // Tx and Rx XON character
; char XoffChar; // Tx and Rx XOFF character
; char ErrorChar; // error replacement character
; char EofChar; // end of input character
; char EvtChar; // received event character
;
; WORD wReserved1; // reserved; do not use
; } DCB;

_________________
PB and PureVision XP Registered.
www.michaelwhitt.com


Top
Page 1 of 1
[ 11 posts ]
Multimedia |Business |Messengers |Desktop |Development |Education |Games |Graphics |Home |Networking |Security |Servers |Utilities |Web Dev| Other
Sort by: Relevance

Advanced Serial Data Logger

This program inputs RS232 data directly into file, Excel, Access, or any Windows application. The program has the capability to log multiple serial (RS232,RS485,RS422) ports in the same time. It handles the RTS signal and control the direction of data flow.

  • Publisher: AGG Software
  • Home page:www.aggsoft.com
  • Last updated: December 3rd, 2020

Serial Port Redirector

Serial Port Redirector makes serial data from virtual serial ports available on a TCP/IP network.Main Features:- Transparently network-enables serial applications.- True virtual serial port driver.- Compatible with wide variety of serial servers.- Full support of Telnet RFC2217 protocol.

  • Publisher: FabulaTech LLP.
  • Home page:www.serial-port-redirector.com
  • Last updated: December 25th, 2019

Data Logger Suite

One of the key features of Data Logger Suite is its ability to question any number of serial interfaces simultaneously and to log information obtained via them concurrently. Data Logger Suite natively supports RSS232, TCP/IP, UDP and OPC protocols and treats them so that working with any of them becomes similar and 100% transparent.

  • Publisher: AGG Software
  • Home page:www.dataloggersuite.com
  • Last updated: December 3rd, 2020

LArVa - Labview Arduino - Simple Graph Application

The Simple Graph application is a Labview program that uses the Labview Arduino Driver (LArVa) to gather between 1 and 6 channels from your Arduino microcontroller and display them on a graph. The program allows you to save the raw data and access the full capabilities of the LArVa driver, such as variable acquisition rates and on-board firmware averaging.

  • Publisher: Angstrom Designs
  • Last updated: November 3rd, 2011

Serial Port Splitter

Serial Splitter allows you to manage virtual and real ports by creating various types of port bundles. You can split, redirect, join, and share serial ports. The programs can switch among the free ports sharing the same name.

  • Publisher: Serial Port Software
  • Home page:www.serialportsplitter.com
  • Last updated: December 22nd, 2015

ReMapPro

ReMapPro is a COM port utlity designed to make serial data from your PC available on TCP/IP-based network.The main utility, the Comport, is included in the ReMapPro package makes serial (RS232) data from your PC available on TCP/IP-based networks and makes TCP/IP data available on serial ports on your PC.

  • Publisher: Labtam
  • Last updated: February 22nd, 2010

Virtual Serial Port Driver PRO

VSPD PRO allows easy management of physical and virtual serial ports. Create complex port bundles, join, split and merge COM ports with this app. Redirect serial data to physical or virtual COM ports on either side of the created complex bundle.

  • Publisher: Eltima Software
  • Home page:www.eltima.com
  • Last updated: May 21st, 2018

RS232 logger ActiveX

Purebasic Serial Port Examples

RS232 logger ActiveX 2.5.1.911

  • Publisher: AGG Software
  • Home page:www.aggsoft.com
  • Last updated: January 7th, 2010

Serial to Ethernet Connector

Serial to Ethernet Connector is an advanced serial over IP solution for sharing of serial ports. It allows you to share up to 255 serial devices over network, thus turning your computer into a low-cost terminal server.

  • Publisher: Eltima Software
  • Home page:www.eltima.com
  • Last updated: July 29th, 2020

232Analyzer

232Analyzer allows you to analyze the communication and other activities that are happening through serial ports. This powerful serial port protocol analyzer also allows controlling and monitoring serial ports, not only analyzing their parameters. These serial ports can be of various types, such as the ubiquitous RS232.

  • Publisher: CommFront Communications
  • Home page:www.commfront.com
  • Last updated: July 28th, 2010

Extron Electronics - DataViewer

DataViewer is an enhanced terminal emulation program that facilitates analysis of RS-232, USB, and TCP/IP communication with Extron devices. The software allows users to send commands to a device and view the device's responses in ASCII or hexadecimal format. Command and response logs can be saved in text or HTML format.

  • Publisher: Extron
  • Home page:www.extron.com
  • Last updated: March 10th, 2011

SMSCaster E-Marketer GSM Standard

Features:-“Send thousands of SMS easily from the computer”-“Receive incoming SMS into the computer (2-way SMS) ”-“No registration, no credit prepay, no SMS gateway required”-“Support Long SMS, Flash SMS, SMS Mail Merge”-“Use your existing Nokia, Sony Ericsson or Motorola mobile phone!

  • Publisher: SDJ Software Limited
  • Home page:www.smscaster.com
  • Last updated: December 6th, 2010

Advanced TCP IP Data Logger

Advanced TCP/IP Data Logger is a program that allows to capture network traffic and send data to any database or other applications. It captures serial data, custom tailors it to your needs and then extract bits of data from data packets. It has the capability to log multiple ports simultaneously so that multiple external serial devices can be logged.

  • Publisher: AGG Software
  • Home page:www.aggsoft.com
  • Last updated: October 23rd, 2020

SmartCache

SmartCache is a practical application that lets you securely store information on an ACOS1 or ACOS3 ISO 7816 smart card. SmartCache interfaces with the smart card using either an ISO 7816 Phoenix-style Reader/Writer or a Development Terminal connected to an RS-232 serial port or any PC/SC reader.

  • Publisher: SmartCache
  • Home page:www.smartcache.net
  • Last updated: February 16th, 2010

RS232 Hex Com Tool

Hex Com Tool is a serial software terminal program that can be used to communicate with just about any rs232 peripheral. This reliable serial software program is great for embedded developers and it can transmit and receive serial data in Hex or ASCII. RS232 Hex Com Tool is a rs232 setup data can be saved for multiple peripherals and later retrieved for easy setup of each individual device.

  • Publisher: Virtual Integrated Design
  • Home page:www.rs232pro.com
  • Last updated: May 7th, 2008

Cisco Video Surveillance Client

Purebasic Serial Port Example List

Serial

The Cisco® Video Surveillance Stream Manager application is a collection of discrete software modules that provide advanced and flexible configuration, management, and operation of video surveillance networks and solutions. Stream Manager applications provide digital video, audio, and serial data management across any IP network.

  • Publisher: Cisco Systems, Inc.
  • Last updated: June 8th, 2015

ASCII data query and parser plugin

ASCII data query and parser plugin enables users to send and process ASCII data. Advanced Serial Data Logger's ASCII data parser and query module supports two modes: Data query and Data parsers that allows users to transmit queries or commands and parse, filter and format more complex data.

  • Publisher: AGG Software
  • Home page:www.aggsoft.com
  • Last updated: May 29th, 2015

Internet sharing plugin

Serial

The 'Internet Sharing' is additional plugin for data loggers (for example, Advanced Serial Data Logger) is intended for transferring log files with data received via the SMTP (e-mail), FTP (File Transfer Protocol), SFTP (Secure File Transfer Protocol) and HTTP (HTTPS) protocols.

Parallel Port

  • Publisher: AGG Software
  • Home page:www.aggsoft.com
  • Last updated: April 26th, 2012

Serial Port Arduino