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

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
This message is related with

http://groups.google.fr/groups?dq=&hl=fr&lr=&ie=UTF-8&threadm10%76050956.639555%40excalibur.osa.com.au&prev=/groups%3Fdq%3D%26num%3D25%26hl%3Dfr%26lr%3D%26ie%3DUTF-8%26group%3Dalt.microcontrollers.8bit%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

Re: Cant open serial port properly ... I dont understand whats wrong ...
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


Quoted text here. Click to load it
http://groups.google.fr/groups?dq=&hl=fr&lr=&ie=UTF-8&threadm10%76050956.639555%40excalibur.osa.com.au&prev=/groups%3Fdq%3D%26num%3D25%26hl%3Dfr%26lr%3D%26ie%3DUTF-8%26group%3Dalt.microcontrollers.8bit%26start%3D25
Quoted text here. Click to load it



Re: Cant open serial port properly ... I dont understand whats wrong ...
snipped-for-privacy@doublehp.org (Doublehp) wrote in message

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 ???

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

Quoted text here. Click to load it


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

Cheers,
-Brian
--
Brian Dean, snipped-for-privacy@bdmicro.com
BDMICRO - MAVRIC & MAVRIC-II ATmega128 Based Dev Boards
We've slightly trimmed the long signature. Click to see the full one.
Re: Cant open serial port properly ... I dont understand whats wrong ...
Quoted text here. Click to load it

You are right. Thank you all of you for your help

Re: Cant open serial port properly ... I dont understand whats wrong ...
Quoted text here. Click to load it

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.

--

Site Timeline