avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] AVR-GCC help


From: ks_347
Subject: Re: [avr-gcc-list] AVR-GCC help
Date: Fri, 30 Jan 2004 07:42:06 -0800 (PST)

Thanks.
U people r great. Yeap Signal made the difference.
May be i need to read these things in detail. I havent yet got much time to 
read the manual.
 
Thanks for the help.

"J.C. Wren" <address@hidden> wrote:
That also is address in the FAQ. It's the difference between using 
the keyword INTERRUPT, which enables interrupts inside the interrupt 
routine, and keyword SIGNAL, which does not. INTERRUPT is of limited 
use with peripherials like the UART, since the interrupt will not be 
cleared until you read the UDR or disable the UDRIE. The effect of this 
is what you're seeing. Try using SIGNAL.

--jc

ks_347 wrote:

>Thanks. Yes it was a name problem and I solved it. Now it is jumping to my 
>interrupt handling routine. But still there is some problem. If I see the 
>assembly code my interrupt handling routine, there is a first instruction 
>(SEI), which I don't understand where it came from, because my interrupt 
>routine in C does have anything like that. Because of this, program is still 
>in the loop. Any idea on this?
>
>
>"Dmitry K." wrote:
>30 Jan 2004 09:53 ks_347 wrote:
> 
>
>>Hello,
>>
>>I have declared an interrupt routine in my program using
>>INTERRUPT(SIG_UART0_DATA). When I was looking at the disassembler code
>>using AVRSTUDIO, in the interrupt vector table on the location 0x02A, there
>>was no proper address of my interrupt routine.
>> 
>>
>
>Unfortunately, the mess with names takes place.
>he same interruption refers to:
>SIG_UART_DATA - old AVR's
>SIG_UART0_DATA - ATmega161
>SIG_USART0_DATA - ATmega162
>SIG_UART_DATA - ATmega8 (modern uSart, the same as mega162)
>
> 
>
>>My understanding is that the
>>avr-gcc compiler should take care of the address of this routine
>>internally. Due to this what is happening is everytime it receives an
>>interrupt, it will go to address 0x02A and there it only finds out the
>>default address, which will transfer the program control to the reset
>>address, so my program is in infinite loop. Any suggestions or idea on
>>whats going on here? I hope I am describing this well, so that you people
>>can understand. I have included all the files and my program is compiled
>>fine.
>> 
>>
>
>Compiling, linking: misprint in an interrupt name will pass unnoticed.
>Unused function will simply be added.
>
>Regards.
>
>
>_______________________________________________
>avr-gcc-list mailing list
>address@hidden
>http://www.avr1.org/mailman/listinfo/avr-gcc-list
>
>---------------------------------
>Do you Yahoo!?
>Yahoo! SiteBuilder - Free web site building tool. Try it!
>_______________________________________________
>avr-gcc-list mailing list
>address@hidden
>http://www.avr1.org/mailman/listinfo/avr-gcc-list
> 
>



---------------------------------
Do you Yahoo!?
Yahoo! SiteBuilder - Free web site building tool. Try it!

reply via email to

[Prev in Thread] Current Thread [Next in Thread]