Re: ISR Function

"Rajesh" <[email protected]>
Newsgroups gmane.comp.hardware.motorola.microcontrollers
Message-ID <[email protected]>
Hi,
    Now I am calling DAC(x,y) in PIT ISR and x,y are global variables.
But now my code is getting stuck into the following function 
void fp_unavailable_exception (void)
{
    ARCH_ILLEGAL_INSTRUCTION_ASM;
}
and this function is called in file "excfuncs.c".

Can you please suggest how to deal with this?


--- In [email protected], "Dobbin Allan-r11834" 
<Allan.Dobbin@...> wrote:
>
> Set your PIT to interrupt every 100ms.  From within the PIT ISR, 
simply
> call DAC ( ).  No need to pass the parameters x and y since they are
> global variables.  If they are not global, make them global.
>  
> If DAC function and main will both modify x or y, you have to 
protect
> them within main whilst modifying i.e. temporary disable PIT 
interrupt
> whilst modifying.
>  
>  
> 
> 	-----Original Message-----
> 	From: [email protected] [mailto:[email protected]] 
On
> Behalf Of Rajesh
> 	Sent: Thursday, June 29, 2006 11:40 PM
> 	To: [email protected]
> 	Subject: [MPC500] Re: ISR Function
> 	
> 	
> 
> 	Hi,
> 	
> 	I think I was unable to put my question. Sorry for that, here 
it
> is:
> 	
> 	My code is like this:
> 	
> 	main()
> 	{
> 	
> 	function1(); // this will execute and output of this function 
is
> x,y 
> 	//which are global variables.
> 	}
> 	Now my DAC(x,y) function will take this x,y as input.I am 
trying
> to 
> 	execute this DAC(x,y) function at every 100 milisec, nomatter
> where I 
> 	am in the main loop at that time.
> 	I am using COdeWarrior Compiler 8.1.
> 	
> 	-regards
> 	Rajesh
> 	
> 	--- In [email protected] <mailto:MPC500%
40yahoogroups.com>
> , "Dobbin Allan-r11834" 
> 	<Allan.Dobbin@> wrote:
> 	>
> 	> Rajesh, perhaps I don't understand your question - do you 
have
> PIT
> 	> working and interrupting, but you just don't know how to 
call
> a C
> 	> function from assembler?
> 	> 
> 	> Most compilers allow you to specify a function is an 
interrupt
> 
> 	function,
> 	> i.e. with Diab compiler you can do the following:
> 	> 
> 	> INTERRUPT void external_interrupt (void)
> 	> {
> 	> "
> 	> "
> 	> PitIsr (); /* handle PIT interrupt */
> 	> }
> 	> 
> 	> so in your vector area, you have
> 	> .org base_add + 0x500 ;External Interrupt Exception
> 	> b external_interrupt
> 	> 
> 	> So now calling your DAC function within PitIsr is just like
> any 
> 	other C
> 	> code i.e. DAC(x,y);
> 	> 
> 	> The question of where do x,y come from within an ISR - 
perhaps
> 
> 	these are
> 	> global variables?
> 	> 
> 	> I'm not sure if this is what you were asking.
> 	> 
> 	> - Allan 
> 	> 
> 	> 
> 	> 
> 	> 
> 	> -----Original Message-----
> 	> From: [email protected] <mailto:MPC500%
40yahoogroups.com>
> [mailto:[email protected] <mailto:MPC500%40yahoogroups.com> ] 
> 	On
> 	> Behalf Of Rajesh
> 	> Sent: Thursday, June 29, 2006 4:21 AM
> 	> To: [email protected] <mailto:MPC500%
40yahoogroups.com> 
> 	> Subject: [MPC500] ISR Function
> 	> 
> 	> 
> 	> 
> 	> 
> 	> Hi everyone,
> 	> I am working with MPC566 and I have a function DAC(x,y), 
> 	> i.e. a D/A converter function, which I want to execute on
> 	> Interrupt 
> 	> at every 100 ms.
> 	> I am using a PIT and can set time between 64 msecs to 4.19 
> 	secs.
> 	> Can anyone please tell me how to call this function in an 
ISR?
> 	> 
> 	> -regards
> 	> Rajesh
> 	> 
> 	> 
> 	> 
> 	> 
> 	> 
> 	> 
> 	> 
> 	> [Non-text portions of this message have been removed]
> 	>
> 	
> 	
> 
> 	 
> 
> 
> 
> [Non-text portions of this message have been removed]
>






------------------------ Yahoo! Groups Sponsor --------------------~--> 
Great things are happening at Yahoo! Groups.  See the new email design.
http://us.click.yahoo.com/TISQkA/hOaOAA/yQLSAA/dN_tlB/TM
--------------------------------------------------------------------~-> 

-----------------------------------------------------------
To learn more about Freescale Microcontrollers, please visit
http://www.freescale.com/mcu


 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/MPC500/

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.