You are using the Windows API for controlling the UART - these issues
are taken care of for you. The serial driver code takes care of
disabling, changing the baud, and re-enabling all with-in the DCB
chaning API call (or the equivelant in Win32.)
Many, many, many years ago, in a land far away, we used MS-DOS, for
which the Serial API's where brain-dead at best, blocked on each
readport, making multiple comm port control impossible using the BIOS
API. These API's originated in the very original IBM PC. At 4.77 MHz,
the 8086 with only an 8250 UART could at most handle a communications
rate of 19200 baud. While many BIOS's supported higher bauds, they
ussually did this in a non-standard way. Thus, any program that
serviced more than one serial port, or wanted to support more than
19,200 BPS, had to implement it's own Interrupt driven routines (or use
a 3rd party library that did this.)
When writing your own routines, you always set the baud with the UART
disabled. There where some buggy UART implementations that would
actually choke if the baud was changed while receiving or transmitting.
I also know the 16 bit Windows DCB setting API disabled the port prior
to changing settings. I would be surprised if the Win32 does things any
different.
I know, this is all ancient history to most people, but that is the way
it once was!
JEC
np np wrote:
Show quoted textHide quoted text
>
> I have never had trouble at the PC end changing baud rates.
> I used Delphi in my last project.
> So long as you make sure you were not in the middle of recieving
> something and flush the buffers then you should have no problems.
>
> www.ckp-railways.talktalk.net/pcbcad21.htm
>
> ----- Original Message ----
> From: David VanHorn <microbrix@gmail.com <mailto:microbrix%40gmail.com>>
> To: AVR-Chat@yahoogroups.com <mailto:AVR-Chat%40yahoogroups.com>
> Sent: Tuesday, 20 March, 2007 6:52:36 PM
> Subject: Re: [AVR-Chat] Re: MEGA8 RS232
>
> >
>
> >
>
> > Also, not be an issue with the AVR's, but I know the PC uart's do NOT
>
> > like you changing the Baud Rate with the receivers / transmitters
>
> > enabled. I would move the Receiver / Transmitter enable to the end of
>
> > the init, rather than doing it first.
>
> You can change things on the fly in the AVRs, but I would advise this too.
>
> Set it up, then enable.
>
> [Non-text portions of this message have been removed]
>
> <!--
>
> #ygrp-mlmsg {font-size:13px;font-family:arial, helvetica, clean,
> sans-serif;}
> #ygrp-mlmsg table {font-size:inherit;font:100%;}
> #ygrp-mlmsg select, input, textarea {font:99% arial, helvetica, clean,
> sans-serif;}
> #ygrp-mlmsg pre, code {font:115% monospace;}
> #ygrp-mlmsg * {line-height:1.22em;}
> #ygrp-text{
> font-family:Georgia;
> }
> #ygrp-text p{
> margin:0 0 1em 0;}
> #ygrp-tpmsgs{
> font-family:Arial;
> clear:both;}
> #ygrp-vitnav{
> padding-top:10px;font-family:Verdana;font-size:77%;margin:0;}
> #ygrp-vitnav a{
> padding:0 1px;}
> #ygrp-actbar{
> clear:both;margin:25px 0;white-space:nowrap;color:#666;text-align:right;}
> #ygrp-actbar .left{
> float:left;white-space:nowrap;}
> .bld{font-weight:bold;}
> #ygrp-grft{
> font-family:Verdana;font-size:77%;padding:15px 0;}
> #ygrp-ft{
> font-family:verdana;font-size:77%;border-top:1px solid #666;
> padding:5px 0;
> }
> #ygrp-mlmsg #logo{
> padding-bottom:10px;}
>
> #ygrp-vital{
> background-color:#e0ecee;margin-bottom:20px;padding:2px 0 8px 8px;}
> #ygrp-vital #vithd{
> font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-transform:uppercase;}
> #ygrp-vital ul{
> padding:0;margin:2px 0;}
> #ygrp-vital ul li{
> list-style-type:none;clear:both;border:1px solid #e0ecee;
> }
> #ygrp-vital ul li .ct{
> font-weight:bold;color:#ff7900;float:right;width:2em;text-align:right;padding-right:.5em;}
> #ygrp-vital ul li .cat{
> font-weight:bold;}
> #ygrp-vital a {
> text-decoration:none;}
>
> #ygrp-vital a:hover{
> text-decoration:underline;}
>
> #ygrp-sponsor #hd{
> color:#999;font-size:77%;}
> #ygrp-sponsor #ov{
> padding:6px 13px;background-color:#e0ecee;margin-bottom:20px;}
> #ygrp-sponsor #ov ul{
> padding:0 0 0 8px;margin:0;}
> #ygrp-sponsor #ov li{
> list-style-type:square;padding:6px 0;font-size:77%;}
> #ygrp-sponsor #ov li a{
> text-decoration:none;font-size:130%;}
> #ygrp-sponsor #nc {
> background-color:#eee;margin-bottom:20px;padding:0 8px;}
> #ygrp-sponsor .ad{
> padding:8px 0;}
> #ygrp-sponsor .ad #hd1{
> font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-height:122%;}
> #ygrp-sponsor .ad a{
> text-decoration:none;}
> #ygrp-sponsor .ad a:hover{
> text-decoration:underline;}
> #ygrp-sponsor .ad p{
> margin:0;}
> o {font-size:0;}
> .MsoNormal {
> margin:0 0 0 0;}
> #ygrp-text tt{
> font-size:120%;}
> blockquote{margin:0 0 0 4px;}
> .replbq {margin:4;}
> -->
>
>
> __________________________________________________________
> What kind of emailer are you? Find out today - get a free analysis of
> your email personality. Take the quiz at the Yahoo! Mail Championship.
> http://uk.rd.yahoo.com/evt=44106/*http://mail.yahoo.net/uk
> <http://uk.rd.yahoo.com/evt=44106/*http://mail.yahoo.net/uk>
>
> [Non-text portions of this message have been removed]
>
>