I have two programs, DriverScale.c and scale9.c. DriverScale.c calls scale 9.c which sends a W and a carraige return to the scale which SHOULD return the weight to DriverScale. However scale 9 hangs for at least 10 min, and then finally returns the weight.
Compilation:
Code:
ethan@meow:/var/www$ gcc -g -Wall -o DriverScale DriverScale.c scale9.c
scale9.c: In function ‘scale9':
scale9.c:53:2: warning: implicit declaration of function ‘cfsetispeed' [-Wimplicit-function-declaration]
cfsetispeed(&options, B9600);
^
scale9.c:54:2: warning: implicit declaration of function ‘cfsetospeed' [-Wimplicit-function-declaration]
cfsetospeed(&options, B9600);
^
scale9.c:65:2: warning: implicit declaration of function ‘tcflush' [-Wimplicit-function-declaration]
tcflush(fp1, TCOFLUSH);
^
scale9.c:76:2: warning: implicit declaration of function ‘tcgetattr' [-Wimplicit-function-declaration]
tcgetattr(fp1, &options); //The tcgetattr function fills the termios structure
^
scale9.c:84:2: warning: implicit declaration of function ‘tcsetattr' [-Wimplicit-function-declaration]
tcsetattr(fp1, TCSANOW, &options); /* apply the settings */
^
scale9.c:125:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
scale9.c
Note: All comment lines are on one line in the code.
Code:
/*
*Scale9 Write data to Serial Port and Read it
*
*/
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <stropts.h>
#include <asm/termios.h>
#include <unistd.h>
#include <string.h>
//#include <termios.h>
#define MODEMDEVICE "/dev/ttyS0"
//void main(void)
float scale9(void)
{
char buf[8] = " ", buf2[8] = " ";
FILE *fp1, *fp2;
float wgt;
int i;
struct termios options;
fp1 = fopen(MODEMDEVICE, "w+");
fp2 = fopen("/tmp/testfile.txt", "w+");
if(fp2 == NULL)
{
printf("testfile error. \n");
}
if(fp1 == NULL)
{
printf("initiation error. \n");
}
printf(" hellow scale");
cfsetispeed(&options, B9600);
cfsetospeed(&options, B9600);
options.c_cflag |= ~PARENB; // Allow parity to be set
options.c_cflag &= ~CSTOPB; // 1 stop bit
options.c_cflag &= ~CSIZE; // Mask the character size bits
options.c_cflag |= CS7; // 7 bits
tcflush(fp1, TCOFLUSH);
printf(" hellow scale2");
tcgetattr(fp1, &options); //The tcgetattr function fills the termios structure
//you provide with the current serial port configuration.
//After we set the baud rates and enable local mode and serial data receipt,
//we select the new configuration using tcsetattr. The TCSANOW constant specifies
//that all changes should occur immediately without waiting for output data to finish
//sending or input data to finish receiving. There are other constants
//to wait for input and output to finish or to flush the input and output buffers.
tcsetattr(fp1, TCSANOW, &options); /* apply the settings */
printf("scale7");
fprintf(fp1, "%s","W\r\n"); //send the command to the scale
fread(buf, 1, 7,fp1); strip the first character, which is a carriage return
printf("buf\n");
printf("scale7#2");
for (i= 1; i < 7; i++)
buf2[i] = buf[i];
printf("%s", buf2);
for (i = 0; i<8; i++)
printf("%c\n", buf[i]);
printf("\n%s#3", buf);
printf("buf2\n");
for (i = 0; i<7; i++)
printf("%c\n", buf2[i]);
printf("buf2\n");
printf("scale7#4");
printf("%s", buf2);
wgt = atof(buf2);
printf("wgt\n");
printf("%f", wgt);
printf("\n%s", buf2);
fclose(fp1);
fwrite(buf, 1, 7,fp2 );
fwrite(buf2, 1, 7,fp2 );
fclose(fp2);
}
Hai
I am new to AIX, currently in our shop we use AIX 4.3.3 , where we have hosted the websphere 3.5 applicaiton on it. The AIX server is getting hanged very frequently, when analyse we found the swap memory is increasing once it reaches the memory 100 the system is totaly in hung state, so... (5 Replies)
Hi,
I have a system where sendmail deamon not running.
(And I have lot of jobs under crontab).
But I have whole lot of sendmail processes started-up by cron process, eating up its CPU resources. (for a sample - see below)
$ ps -ef|grep 248
root 248 1 0 Aug 12 ? 0:56... (5 Replies)
Hi ,
I m actually trying to implement pipes program,but after executing the execvp(),my program is getting hanged up :mad:
Actaully i m getting the desired output expected from execvp()...but once results are displayed on the output screen ,program is getting hanged up
values of... (3 Replies)
Hi All,
When I tried to telnet to lparB from lparA, it hangs at "Escape character is..".
I've tried;
- killed -15
- re-started it
- edit netsvc.conf, hosts=local,bind and hosts=local,bind4
- checked /etc/hosts for 127.0.0.1 loopback localhost
- copy original inetd.conf ... (3 Replies)
Hi,
i want to write a script that executes a program (exec?) .
this program then requires a filename as input.
how do i give it this input in the script so the program will be complete run and close by the script.
e.g.
exec prog.exe
program then asks for filename
"enter filename:"... (1 Reply)
I've set sysback to run in the cron daily to backup my servers to a nim servers SAN storage. Every once and a while the backup process hangs and the backup doesn't complete. When I check the processes the sysback processes are still running hours after sysback would normally end. I don't see any... (1 Reply)
How can I get around this? when my program reaches the following popen job it halts the program until the ping/netstat/ipconfig/traceroute is completed then resume to the rest of the program...
FILE *in;
extern FILE *popen();
char buff;
char newline;
char nstat;
char nping;
... (5 Replies)
Hello I have a sftp problem.
If I do sftp between some nodes that we installed it works fine i can list
directories and get files.
If I connect with sftp from the other side of a firewall (wich has port 22 open)
I can log in and cd to which ever direcory i want i can do pwd but when i do... (4 Replies)
I have a ksh script (script1) that calls another ksh script (script2). If script2.ksh hangs or takes too long to execute I want script1.ksh to kill the call to script2.ksh and instead just display "Script2 can't run right now". Could someone help me with coding this? (1 Reply)
On Oracle Linux 5, 64 bit (derivative of RHEL) ... I have a shell script that runs every Sunday, that ftp's a bunch of files from server 'prod' to server 'test'. Script executes on 'test'. This has been running for YEARS with no problem. Normally the FTP step takes about 1.5 to 2 hours. (pulls... (8 Replies)