Sponsored Content
Full Discussion: Programming serial port
Top Forums Programming Programming serial port Post 302269118 by WebKruncher on Wednesday 17th of December 2008 12:15:08 AM
Old 12-17-2008
C++

The Michael R Sweet reference looks really good - I'll keep this handy. But, it shows only the C interface. The samples demonstrate the critical components, and understanding it is a necessary first step before building your object oriented design.

If your target supports standard exception handling, you can take advantage of C++ streams. Here is an example http://www.webkruncher.com/speedstreams.h that demonstrates using C++ iostreams for a local file. I've used the same method to interface with serial ports and sockets. It can be adapted to virtually any IO. Even if your IO needs to be fully optimized, you can still take advantage of the OO structure.

The goal is really to have one, straight forward C++ header file that defines and fully implements everything needed to communicate with your target port. Then, your protocol manager sees your target device as if it were a simple file. So, when you initialize the system that interfaces with your target device, the source code could look something like this....

SerialStream io("COM1");
while(!io.eof())
{
string line;
getline(io,line);
}

io<<"hello"<<endl;

Then you build an object to manage the negotiations required by your protocol and put it to use.



Hope that helps.
-Jmt
 

10 More Discussions You Might Find Interesting

1. Programming

Telling apart serial from // port

I'm writing a journal_write() function and I want it to: - be a possible drop in replacement for write() - write entries to the journal ;-) Could be a regular file (journal.txt), a serial printer or a // printer. - handle printer status if needed. fstat() tells weather or not we're dealing with... (2 Replies)
Discussion started by: starless
2 Replies

2. Linux

urgent......Serial port

I think my serial port(on board) is not working ...... because when I am running same code on two machines its working good....but when my system comes into picture ....it doesnt show any output comming from serial port.......... can anybody tell me how to configure my serial port.........or to... (16 Replies)
Discussion started by: arunchaudhary19
16 Replies

3. Programming

Serial port programming

I am developing an application in c with Linux OS, where a radio modem working at baud rate 9600 will be attached to PC on serial port. More than four such units will be communicating at one time, so there may be jamming or data corruption. Each module will be transmitting Data packets less than... (2 Replies)
Discussion started by: raj8109
2 Replies

4. Solaris

Serial port problem

I am working with solaris 9 sparc and I want to connect physical device in serial port but when I am connecting it,It is showing the error window saying-- So can any1 tell me the reason or is there any package I have to add to work with serial port??? (2 Replies)
Discussion started by: smartgupta
2 Replies

5. Programming

How to tell if a string to serial port has been sent

I have a need to determine when a string has been completely sent via a serial port from a standard 'C' application. The code is as follows: SerialPort_Send = open (pPortString, O_WRONLY | O_NOCTTY | O_NONBLOCK); write (SerialPort_Send, pCommandString, strlen (pCommandString)); ... (2 Replies)
Discussion started by: ExDes
2 Replies

6. Solaris

Serial port on the T5140

What is the serial port on the T5140 used for. (4 Replies)
Discussion started by: pgsanders
4 Replies

7. Shell Programming and Scripting

Need help with serial port

Hi, I have a external board connected to my serial port. I need to execute "shutdown -r now" command when system boot up. When system boots up it requires a username ans password. Then I need to run my command. I can use rc script but that is rebooting system before it asks for username and... (0 Replies)
Discussion started by: charlie.arya
0 Replies

8. Solaris

How to enable Serial port on ILOM, when Network Port is enabled in parallel

Hi Everyone, In my environment, I have few T5220. On the iLOM Management Card, I have both Network and Serial port are cabled, I don't have any issues while I try to connect using Network Management port, but when I try to connect the serial port for the same server which is actually connected... (3 Replies)
Discussion started by: bobby320
3 Replies

9. Programming

Serial programming using termios

Hi guys I'm trying to connect to CISCO router using termios. So I decided to have two threads one for reading data and the other one for writing data. And here's my code : int mainfd=0; char ch = {NULL}; void *write(void *) { char temp; while(1) { temp =... (3 Replies)
Discussion started by: turner
3 Replies

10. Solaris

Cabling and adapters to communicate to service processor serial port from Windows PC with USB port.

Hello, I have an unloaded T5140 machine and want to access the ILOM for the first time and subsequently the network port after that., and then load Solaris 10 the final January 2011 build. The first part is what confuses me -the cabling. I am coming from a Windows machine (w/appropriate... (5 Replies)
Discussion started by: joboy
5 Replies
RFCOMM_SPPD(1)						    BSD General Commands Manual 					    RFCOMM_SPPD(1)

NAME
rfcomm_sppd -- RFCOMM Serial Port Profile daemon SYNOPSIS
rfcomm_sppd [-bhtS] -a address -c channel DESCRIPTION
The rfcomm_sppd utility is a Serial Port Profile daemon. It can operate in two modes: client and server. In client mode, rfcomm_sppd opens RFCOMM connection to the specified address server and channel. Once connection is established, the rfcomm_sppd utility provides access to the server's remote serial port via stdin/stdout or via pts(4) interface if -t option was specified. If the -S option is specified, rfcomm_sppd will operate in server mode and act as RFCOMM server, listening on ANY address and advertising a virtual serial port via the sdpd(8) daemon. If -t options was specified, the server side of the virtual serial port is attached to a pseudo- terminal. Otherwise the virtual serial port is attached to the stdin/stdout. rfcomm_sppd should be run as root in order to communicate with sdpd(8) in this case. The rfcomm_sppd utility opens both master and slave pseudo terminals. This is done to ensure that RFCOMM connection stays open until rfcomm_sppd is terminated. The data received from the master pseudo terminal are sent over the RFCOMM connection. The data received from the RFCOMM connection are written into master pseudo terminal. The application in its turn opens the slave pseudo terminal and operates on it just like it would operate over the standard serial port. The options are as follows: -a address In client mode, this required option specifies the address of the remote RFCOMM server. If this option is specified in server mode, rfcomm_sppd will only accept connections from the Bluetooth device with address address. The address can be specified as BD_ADDR or name. If name was specified then rfcomm_sppd utility will attempt to resolve the name via bt_gethostbyname(3). -b Detach from the controlling terminal, i.e., run in background. -c channel In both client and server mode, this option specifies the RFCOMM channel to connect to or listen on. In server mode, the channel should be a number between 1 and 30. If not specified, rfcomm_sppd will try to bind to ``wildcard'' RFCOMM channel number. The actual RFCOMM channel will be obtained via getsockname(2) call and will be used to register Serial Port service with sdpd(8). In client mode, the channel could either be a number between 1 and 30 or a service name. Supported service names are: DUN (for DialUp Networking service), FAX (for Fax service), LAN (for LAN Access Using PPP service) and SP (for Serial Port service). If channel was not specified then rfcomm_sppd utility will try to obtain RFCOMM channel for Serial Port service via Service Discovery Protocol from the server. -h Display usage message and exit. -S Server mode; see DESCRIPTION. -t Use slave pseudo tty. If not set stdin/stdout will be used. This option is required if -b option was specified. FILES
/dev/pts/[num] slave pseudo terminals EXIT STATUS
The rfcomm_sppd utility exits 0 on success, and >0 if an error occurs. EXAMPLES
rfcomm_sppd -a 00:01:02:03:04:05 -c 1 -t Will start the rfcomm_sppd utility and open RFCOMM connection to the server at 00:01:02:03:04:05 and channel 1. Once the connection has been established, a pts(4) can be used to talk to the remote serial port on the server. rfcomm_sppd prints the name of the pts(4) to use on std- out. SEE ALSO
bluetooth(3), ng_btsocket(4), pts(4), rfcomm_pppd(8), sdpd(8) AUTHORS
Maksim Yevmenkin <m_evmenkin@yahoo.com> BUGS
Please report if found. BSD
April 21, 2008 BSD
All times are GMT -4. The time now is 05:02 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy