Reply by Dave Helsley November 9, 20012001-11-09
You're quite welcome -- I'm glad it worked out for you! :)

This is a pretty good group, here ... it's nice to know I can contribute!

Best regards,
Dave Helsley -----Original Message-----
From: [mailto:]
Sent: Thursday, November 08, 2001 5:27 AM
To:
Subject: [c54x] C5402 DSK Interrupt Problem Fixed Got my interrupts going. I can now read data from the AD50 every time
a receiver interrupt occurs. As Dave Helsley suggested, the problem I
had was that the DRR register was being overrun because I was not
reading it quick enough. If DRR has not been since the last RBR to
DRR copy, a new word can not be transferred to DRR and hence, the
receiver interrupt will not be cleared.

I fixed this problem by doing a dummy read straight after enabling my
global interrupts to clear out any data from DRR, and making sure in
my ISR the data is read to clear DRR and hence clear the receiver
ready interrupt.

Also, stepping through my code would cause the AD50 to overrun anyway
because by the time the code read DRR, it would already be overrun
before I even stepped to the next instruction, ie. I can't step as
fast as a DSP CPU ! So when testing AD50 run it continously.

Thanks Dave Helsley for you help !

_____________________________________
Note: If you do a simple "reply" with your email client, only the author of
this message will receive your answer. You need to do a "reply all" if you
want your answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join: Send an email to

To Post: Send an email to

To Leave: Send an email to

Archives: http://www.yahoogroups.com/group/c54x

Other Groups: http://www.dsprelated.com ">http://docs.yahoo.com/info/terms/


Reply by November 8, 20012001-11-08
Got my interrupts going. I can now read data from the AD50 every time
a receiver interrupt occurs. As Dave Helsley suggested, the problem I
had was that the DRR register was being overrun because I was not
reading it quick enough. If DRR has not been since the last RBR to
DRR copy, a new word can not be transferred to DRR and hence, the
receiver interrupt will not be cleared.

I fixed this problem by doing a dummy read straight after enabling my
global interrupts to clear out any data from DRR, and making sure in
my ISR the data is read to clear DRR and hence clear the receiver
ready interrupt.

Also, stepping through my code would cause the AD50 to overrun anyway
because by the time the code read DRR, it would already be overrun
before I even stepped to the next instruction, ie. I can't step as
fast as a DSP CPU ! So when testing AD50 run it continously.

Thanks Dave Helsley for you help !