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]"

Reply via email to