Sponsored Content
Full Discussion: Serial port programming
Top Forums Programming Serial port programming Post 302226649 by quine on Tuesday 19th of August 2008 12:15:46 PM
Old 08-19-2008
It's been a long time, but if I recall it works like this....

Each serial port has a port-buffer (in the old days this could be as little as 8 bytes) and you process buffer traffic 1 character at a time. I don't know what higher-level abstractions are provided these days for processing the bytes in the buffer, but the basic idea remains the same....

While (forever){
if (character-at-buffer-1){
read it;
do something with it;
}
if (character-at-buffer-2){
read it;
do something with it;
}
do other stuff here, but never so much that at 9600 cps the buffer(s)
could over-flow
}

For example, a simple terminal emulator comes down to this...

Open handle SR to read serial buffer;
Open handle SW to write serial buffer;
Open handle KR to read keyboard press;
Open handle TW to write to terminal;
while (forever){
if (SR has char){
write to TW;
}
if (KR has char){
write to SW;
}
Do other stuff;
}
 

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. 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

4. Programming

Programming serial port

Hello! Can someone advice me which method I will use if I want to communicate with device via RS232 serial port with this requirements: 1. Serial port is opened in non-canonical mode. 2. All the time I need to check is there something to read. 3. If I have to write something I need to write it... (6 Replies)
Discussion started by: jvrlic
6 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
libcaca file IO(3caca)						      libcaca						    libcaca file IO(3caca)

NAME
libcaca file IO - Functions __extern caca_file_t * caca_file_open (char const *, const char *) Open a file for reading or writing. __extern int caca_file_close (caca_file_t *) Close a file handle. __extern uint64_t caca_file_tell (caca_file_t *) Return the position in a file handle. __extern size_t caca_file_read (caca_file_t *, void *, size_t) Read data from a file handle. __extern size_t caca_file_write (caca_file_t *, const void *, size_t) Write data to a file handle. __extern char * caca_file_gets (caca_file_t *, char *, int) Read a line from a file handle. __extern int caca_file_eof (caca_file_t *) Tell whether a file handle reached end of file. Detailed Description These functions allow to read and write files in a platform-independent way. Function Documentation __extern caca_file_t* caca_file_open (char const *path, const char *mode) Create a caca file handle for a file. If the file is zipped, it is decompressed on the fly. If an error occurs, NULL is returned and errno is set accordingly: o ENOSTS Function not implemented. o EINVAL File not found or permission denied. Parameters: path The file path mode The file open mode Returns: A file handle to path. Referenced by caca_import_canvas_from_file(). __extern int caca_file_close (caca_file_t *fp) Close and destroy the resources associated with a caca file handle. This function is a wrapper for fclose() or, if available, gzclose(). Parameters: fp The file handle Returns: The return value of fclose() or gzclose(). Referenced by caca_import_canvas_from_file(). __extern uint64_t caca_file_tell (caca_file_t *fp) Return the file handle position, in bytes. Parameters: fp The file handle Returns: The current offset in the file handle. __extern size_t caca_file_read (caca_file_t *fp, void *ptr, size_tsize) Read data from a file handle and copy them into the given buffer. Parameters: fp The file handle ptr The destination buffer size The number of bytes to read Returns: The number of bytes read Referenced by caca_import_canvas_from_file(). __extern size_t caca_file_write (caca_file_t *fp, const void *ptr, size_tsize) Write the contents of the given buffer to the file handle. Parameters: fp The file handle ptr The source buffer size The number of bytes to write Returns: The number of bytes written __extern char* caca_file_gets (caca_file_t *fp, char *s, intsize) Read one line of data from a file handle, up to one less than the given number of bytes. A trailing zero is appended to the data. Parameters: fp The file handle s The destination buffer size The maximum number of bytes to read Returns: The number of bytes read, including the trailing zero __extern int caca_file_eof (caca_file_t *fp) Return the end-of-file status of the file handle. This function is a wrapper for feof() or, if available, gzeof(). Parameters: fp The file handle Returns: 1 if EOF was reached, 0 otherwise Referenced by caca_import_canvas_from_file(). Author Generated automatically by Doxygen for libcaca from the source code. Version 0.99.beta18 Fri Apr 6 2012 libcaca file IO(3caca)
All times are GMT -4. The time now is 11:00 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy