[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [avr-gcc-list] for loop problem
From: |
Adrian Cottle |
Subject: |
RE: [avr-gcc-list] for loop problem |
Date: |
Fri, 17 Jan 2003 12:34:21 -0000 |
I have tryed changing the flag rto static volatile and volatile. this seems
to have corrected the UART loop problem but not the other loop problem
while(Timeout_Flag != 0xFF && Element_Pulse_Flag != 0xFF)
{
int i;
for(i=0;i<10;i++)
{
//msdelay(1);
}
}
this still needs the delay in to work
any idea?
thanks
adrian
Adrian,
> I have the function below (well part of it) and it waits in a loop until
> the UART flag is flagged. If i put a 100ms delay in or do something like
> send a byte to the uart it works fine, but as soon as i leave a empty for
> loop it crashed and needs resettting.
...
> int Pulse_Handler(void)
> {
> int i;
> uart_send_byte(33);
> while(UART_Flag == 0)
> {
> msdelay(1);
> //uart_send_byte(46);
> }
> UART_Flag = 0 ;
> uart_send_byte(85);
You need to define UART_Flag as volatile. If you look at the generated code
you can see that without volatile it checks only once for UART_Flag and
runs than into an endless loop. With the volatile you can see that the
compare is included into the loop.
Volkmar
________________________________________________________________________
______
Kursiv, fett, bunt,... WEB.DE FreeMail kann alles - mit der HTML-Mail
http://freemail.web.de/features/?mc=021143
This e-mail has been scanned for all viruses by Star Internet. The service
is powered by MessageLabs. For more information on a proactive anti-virus
service working around the clock, around the globe, visit:
http://www.star.net.uk
This message is confidential and intended solely for the use of the
individual or entity to whom it is addressed. If you are not the intended
recipient, please contact us, delete the message from your computer and destroy
any copies. Any review, distribution, copying, other use of, or the taking of
any action in reliance upon its contents without our prior permission is
prohibited.
Internet communications are not always secure and therefore Horstmann
Controls Limited does not accept legal responsibility for this message.
The recipient is responsible for verifying its authenticity before acting on
the contents. Any attachment may contain software viruses, we cannot accept
liability for any damage which you sustain as a result of software viruses.
You should carry out your own virus checks before opening any attachment. Any
views or opinions presented are solely those of the author and do not
necessarily represent those of Horstmann Controls Limited.
Horstmann Controls Limited
South Bristol Business Park
Roman Farm Road
Bristol, BS4 1UP
Tel : +44 (0) 117 978 8700
Fax : +44 (0) 117 978 8701
Web : www.horstmann.co.uk
____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service.
avr-gcc-list at http://avr1.org