Sponsored Content
Top Forums Programming Problem with read data from serial device Post 302398760 by Corona688 on Thursday 25th of February 2010 01:20:30 PM
Old 02-25-2010
Why are you null-terminating the buffer after you print it? You're closing the barn, but the horse's already left.

Never call printf from a signal handler. fprintf(stderr, "stuff"); might work since that's unbuffered but even that is not guaranteed. Use write(), along with sprintf if necessary.

Are you sure the device uses hardware flow control?

wait_flag should be volatile.

If your goal is to just wait for I/O, you don't need to use SIGIO, you can just configure your terminal to make you wait when you do a read(). This would be better IMHO, since under some circumstances signals can be missed. You could also use select().

code tags for code please. [ code ] my fancy program [ /code ] but without the spaces in the tags. This will show your code with proper indenting.

Last edited by Corona688; 02-25-2010 at 02:27 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

serial port device path

hi. Im trying to install a switch. And the manual says i should type a command including a SerialPortDevicePath. which is the filepath to serial port used for connection. However.. nothing about how to find this info. Could anyone help me where to find this path? thx mr.T (6 Replies)
Discussion started by: tyskertøs
6 Replies

2. Programming

Accessing device with Prolific USB-serial controller.

I am trying to access DG-100 gps logger on Mac OS X with POSIX API. The device uses a Prolific usb-serial controller, and connect to the usb port on my mac. After I install the Prolific driver, it shows up as /dev/tty.usbserial and /dev/cu.usbserial. The vendor has published the data format. So... (1 Reply)
Discussion started by: monkeybiz
1 Replies

3. Linux

Device serial number

Hey! I'm trying to figure out a sollution for a problem I have at my company with an Iomega MiniMax 500 GB USB disk. If i run cat /proc/bus/usb/devices I get this information: T: Bus=01 Lev=02 Prnt=04 Port=00 Cnt=01 Dev#= 5 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00... (2 Replies)
Discussion started by: noratx
2 Replies

4. Ubuntu

Ubuntu 9.04 Serial application to telnet to serial device

Hello! I am working on an application which reads environmental instruments which have serial ports. The application requires a serial port to be present to talk to the device (i.e. /dev/ttyS0 ). In some instances the environmental devices will be 100's of yards away from the computer, so a... (5 Replies)
Discussion started by: mvona
5 Replies

5. Shell Programming and Scripting

problem to read data in array

My input is a long list of data start with "#": #read_1 123456898787987 #read_2 54645646540646406 #read_3 4654564654316 . . I got a bit confusing about how to set all in an array first. And then when I run a program name "statistic_program", it will read the array in scalar and do... (24 Replies)
Discussion started by: patrick87
24 Replies

6. AIX

Tape drive problem - no process to read data written to a pipe

Hi Everyone, The machine I'm working on is an AIX 5.3 LPAR running on a P650. oslevel -r shows 5300-08. I'm trying to take a backup to a SCSI tape drive, which has been working up until this point. I know of nothing that has changed recently to cause this problem. But when I try to take a... (0 Replies)
Discussion started by: need2bageek
0 Replies

7. SCO

Modifying serial printers device

I am trying to change one of my serial printers from /dev/ttyr002 to /dev/ttyr014: lpstat -s device for check3: /dev/ttyr002 device for check4: /dev/ttyr002 I changed the tty setting for check3 in: /etc/printcap /var/spool/lp/admins/lp/printers/check3 to /dev/ttyr014 Then I get:... (4 Replies)
Discussion started by: herot
4 Replies

8. Programming

Wrong data with Read from a serial port.

hi, I've a problem on my C/C++ program with Posix Library. I have to read data from the serial but I have incorrect data, in fact I get a bunch of zeros: "2953.3174, 2785.2126, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0 , 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ,... (24 Replies)
Discussion started by: enaud
24 Replies

9. Programming

Read from serial port

Hi I try to communicate with a GSM modem, from C, for sending SMS. I use standart AT-commands. Working well with terminal. There is no problem writing ti the port. But when I try to read I only get a echo, I write "ATI" and get "ATI" back, I should get somthing like "SIEMENS 35... (4 Replies)
Discussion started by: dmiller
4 Replies

10. Shell Programming and Scripting

Read line from serial device with BASH

I'm new to Linux (Ubuntu 16.04), and very new to BASH scripting. I have a Numato 8-channel USB GPIO device, which is a DAQ that appears in the system as a serial port. In Linux it appears as ttyACM0. I can easily manipulate a GPO with, for example: echo "gpio set 7" > /dev/ttyACM0 ...followed... (12 Replies)
Discussion started by: Chalk-X
12 Replies
etags(1)						      General Commands Manual							  etags(1)

NAME
etags - Generates a tags file for the emacs or mule editor SYNOPSIS
etags [-a | -append] [-C | -c++] [-D | -no-defines] [-i tagsfile2 | -include=tagsfile2] [-o tagsfile | -output=tagsfile] [-S | -ignore-indentation] [-H | -help] [-V | -version] filename... OPTIONS
Appends output to an existing vi-format tags file. (Supports operation of the emacs editor in vi mode.) Treats files with or extensions as C++, rather than C, code. The etags command always treats files with extensions as C++ code. Does not create tag entries for C preproces- sor definitions. If many header files are tagged, using this option may make the tags file much smaller. Includes a note in the output tags file to indicate that, when searching for a tag, one should also consult the tagsfile2 tags file. Explicitly names the output tags file; overrides the default name, which is TAGS. Instructs etags not to rely on indentation to determine nesting level. Currently, this means not to assume that a closing brace in the first column is the final brace in a function or structure definition in C or C++ code. Prints usage information. Prints the current version of the program. OPERANDS
Specifies the input language source file, or files, to be processed. DESCRIPTION
The etags program creates a tag table file in a format understood by the emacs editor. The program understands the syntax of C, C++, For- tran, Pascal, and Lisp source files. It reads the source files specified on the command line and writes a tag table (named TAGS by default) in the working directory. Recognition of the language used in an input file is based on the filename extension and file contents; there are no options for specifying the language. NOTES
The etags program is software distributed by the Free Software Foundation. SEE ALSO
Commands: emacs(1), mule(1) etags(1)
All times are GMT -4. The time now is 06:31 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy