Hi vittorio, Hey I am just a beginner myself, but this is a C program, not a C++ program. My gcc is version 3.4.2 too.
Hmm, did you cut and paste ALL of the source code, including the #include statements? I also see that it's mentioning code on lines 62, 66 and 69. My testssc.c only has around 57 lines of code. What else have you included? Cheers, Paul > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of vittorio > Sent: Friday, 9 September 2005 7:54 PM > To: freebsd-questions@freebsd.org > Subject: Fwd: Re: C program to write to the com port - RESOLVED > > > > As a C++ absolute beginner I'm trying to compile your > testssc.c file with > > g++ testssc.c -o testssc > (under freebsd 5.4, gcc version 3.4.2) > > But... > I only get: > > SerialPort.C: In function `int main(int, char*)': > SerialPort.C:62: error: invalid conversion from `unsigned > char*' to `char*' > SerialPort.C:62: error: initializing argument 1 of `int > snprintf(char*, > size_t, const char*, ...)' > SerialPort.C:66: error: `err' undeclared (first use this function) > SerialPort.C:66: error: (Each undeclared identifier is > reported only once for > each function it appears in.) > SerialPort.C:69:3: warning: no newline at end of file > > Could you please help to straighten things up? > > Vittorio > > ---------- Messaggio inoltrato ---------- > > Subject: Re: C program to write to the com port - RESOLVED > Date: 02:23, venerdì 09 settembre 2005 > From: "Paul Hamilton" <[EMAIL PROTECTED]> > To: freebsd-questions@freebsd.org > > ..................................................................... > -------------------------------------------------------------- > -------------- > -------- > /* Name: testssc.c > * compile with: gcc testssc.c -o testssc > * > * Your serial cable should be plugged into com port 1. > * You only need the pin 3 and pin 5 (DB9) plugged into the > controller. > * The servo should be plugged into the first servo channel/port. > * This test program when run will move the servo from midrange, > * to position 01. This is for demonstrational use only. > * Tested with FreeBSD 5.4 > * Paul Hamilton 8th Aug 2005 > */ > > #include <sys/time.h> > #include <sys/ioctl.h> > #include <errno.h> > #include <fcntl.h> > #include <termios.h> /*Originally it was termio.h*/ > #include <stdio.h> > #include <unistd.h> > // Use serial port 0 (com port 1) > static char *opt_comport="/dev/cuaa0"; > > int main(int argc, char **argv) > { > int fd; > struct termios options; > unsigned char buf[4]; > > // ok, lets try opening the com port > printf("Opening Com port: %s\n\n", opt_comport); > if((fd = open(opt_comport, O_RDWR | O_NOCTTY )) < 0) > { > printf("Problems opening %s\n", opt_comport); > return (-1); > } > // set the required com port parrameters > options.c_cflag &= ~CSIZE; /* Mask the character size bits */ > options.c_cflag |= CS8; /* Select 8 data bits */ > options.c_cflag &= ~PARENB; // set no parity > options.c_cflag &= ~CSTOPB; // set 1 stop bit > options.c_oflag &= ~OPOST; // Raw output > > tcgetattr(fd, &options); > > /* > * Set the baud rates to 9600... > */ > cfsetispeed(&options, B9600); > cfsetospeed(&options, B9600); > > /* > * Enable the receiver and set local mode... > */ > options.c_cflag |= (CLOCAL | CREAD); > > /* > * Set the new options for the port... > */ > tcsetattr(fd, TCSANOW, &options); > > // ok, lets transmit our 3 bytes through com port 1 > snprintf(buf,4,"%c%c%c%c",0xff,0x00,0x01,0); > printf("buf=%x,%x,%x,%x\n", buf[0],buf[1],buf[2],buf[3]); > > if (write(fd, buf, 3) != 3) > err(1, "write"); > > close(fd); > }; > -------------------------------------------------------------- > -------------- > -------- > > Cheers, > > Paul Hamilton > > PS. I have three books on programming in C winging their way > to Australia. I have a lot to learn :-) > > _______________________________________________ > freebsd-questions@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to > "[EMAIL PROTECTED]" > > ------------------------------------------------------- > _______________________________________________ > freebsd-questions@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to > "[EMAIL PROTECTED]" > > _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"