Motherboard Forums


Reply
Thread Tools Display Modes

Cant open serial port properly ... I dont understand whats wrong ...

 
 
Doublehp
Guest
Posts: n/a
 
      02-23-2004, 11:43 PM
This message is related with

http://groups.google.fr/groups?dq=&h...t%26start%3D25

I received from motorola the following answer:
"This customer use Linux and have trouble to send 0x0A or 0x0D, this
is due
to his Linux I/O driver. Metrowerks CodeWarrior for HC08 is run under
Windowes OS and it
works fine on 908JB8 without any trouble on send 0x0A or 0x0D down."


can someone untar http://demaine.free.fr/monitor_68hc08/src/ read the
file rs232.c and try to find whats wrong between lines 49 to 71 ?

I really dont understand what could make opening the port in a wrong
mode ...

You dont really need to comile ... just read my last post, my logbook
p29 and my source file.

Thanks for any help
 
Reply With Quote
 
 
 
 
Michael Anton
Guest
Posts: n/a
 
      02-24-2004, 02:28 AM
You may need to specify the translation mode as binary, as I'm not sure
what
the default translation mode under Linux is.

Mike Anton


"Doublehp" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) om...
> This message is related with
>
>

http://groups.google.fr/groups?dq=&h...t%26start%3D25
>
> I received from motorola the following answer:
> "This customer use Linux and have trouble to send 0x0A or 0x0D, this
> is due
> to his Linux I/O driver. Metrowerks CodeWarrior for HC08 is run under
> Windowes OS and it
> works fine on 908JB8 without any trouble on send 0x0A or 0x0D down."
>
>
> can someone untar http://demaine.free.fr/monitor_68hc08/src/ read the
> file rs232.c and try to find whats wrong between lines 49 to 71 ?
>
> I really dont understand what could make opening the port in a wrong
> mode ...
>
> You dont really need to comile ... just read my last post, my logbook
> p29 and my source file.
>
> Thanks for any help



 
Reply With Quote
 
 
 
 
Doublehp
Guest
Posts: n/a
 
      02-24-2004, 10:49 PM
(E-Mail Removed) (Doublehp) wrote in message news:<(E-Mail Removed). com>...

after 2h of chat on IRC, someone said me that i forgot to enter
nonOPOST mode, so I added line 70 with the proper line as described on
http://www.easysw.mike/serial/serial.html

/* canonical raw input */
vars->serial->c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
vars->serial->c_lflag &= ~OPOST;
vars->serial->c_cflag |= (CS8); /* use 8bit data */
// term_prop->c_cflag |= (CLOCAL | CREAD);
tcsetattr(fd, TCSAFLUSH, vars->serial);

but I still had the same bug ... so that people offered that very
horrible hack:
I put

sprintf(stty,"stty -a < %s",vars->device);
system(stty);

after tcsetattr

Q: why isnt the line with ~OPOST enough ???
 
Reply With Quote
 
Brian Dean
Guest
Posts: n/a
 
      02-25-2004, 12:49 AM
On Tue, Feb 24, 2004 at 02:49:47PM -0800, Doublehp wrote:

> vars->serial->c_lflag &= ~OPOST;


> but I still had the same bug ... so that people offered that very
> horrible hack:
> I put
>
> sprintf(stty,"stty -a < %s",vars->device);
> system(stty);
>
> after tcsetattr
>
> Q: why isnt the line with ~OPOST enough ???


OPOST needs to be applied to c_oflag (output modes), not c_lflag
(local modes).

Cheers,
-Brian
--
Brian Dean, (E-Mail Removed)
BDMICRO - MAVRIC & MAVRIC-II ATmega128 Based Dev Boards
http://www.bdmicro.com/
 
Reply With Quote
 
Doublehp
Guest
Posts: n/a
 
      02-26-2004, 01:03 AM
Brian Dean <(E-Mail Removed)> wrote in message news:<(E-Mail Removed)>...
> On Tue, Feb 24, 2004 at 02:49:47PM -0800, Doublehp wrote:
>
> > vars->serial->c_lflag &= ~OPOST;

>
> > but I still had the same bug ... so that people offered that very
> > horrible hack:
> > I put
> >
> > sprintf(stty,"stty -a < %s",vars->device);
> > system(stty);
> >
> > after tcsetattr
> >
> > Q: why isnt the line with ~OPOST enough ???

>
> OPOST needs to be applied to c_oflag (output modes), not c_lflag
> (local modes).
>
> Cheers,
> -Brian


You are right. Thank you all of you for your help
 
Reply With Quote
 
Wim Lewis
Guest
Posts: n/a
 
      02-26-2004, 01:03 AM
In article <(E-Mail Removed)> ,
Doublehp <(E-Mail Removed)> wrote:
>after 2h of chat on IRC, someone said me that i forgot to enter
>nonOPOST mode, so I added line 70 with the proper line as described on
>http://www.easysw.mike/serial/serial.html
>
>/* canonical raw input */
> vars->serial->c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);


Actually, this is setting *non*canonical input (turning off ICANON).
"Canonical" input means translating the terminal's idea of CR into
Unix's idea (0x0A). By default, the serial port is configured to
talk to a terminal, so flags like that are turned on.

See "man termios" for all the gory details. Yo ucan probably get what
you want with "raw" mode: call tcgetattr(), cfmakeraw(), and then
tcsetattr() to apply the modified attributes back onto the serial device.
cfmakeraw() does almost the same thing you're doing in the code snippet
you posted, except it modifies a few more flags.

--
Wim Lewis <(E-Mail Removed)>, Seattle, WA, USA. PGP keyID 27F772C1
 
Reply With Quote
 
 
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Cant install cat 8.2 the dreaded setup cant find hardware etc. Dagger ATI 2 02-15-2008 09:09 PM
Cant Detect HD whats wrong? Shirl Abit 9 01-02-2006 05:52 PM
865PE Neo2PFISR cant configure SATA & IDE drives properly The Major MSI 2 12-08-2004 05:21 AM
I dont understand Maciek ATI 12 05-24-2004 08:41 PM
Did I install properly or is something wrong? Louise ATI 3 04-11-2004 10:25 AM


All times are GMT. The time now is 09:52 PM.


Welcome!
Welcome to Motherboard Point
 

Advertisment