Technical discussions about Freescale (Motorola) DSPs (including the DSP56000, DSP56300, DSP56600, 56800 DSPs).
|
Hi, I am trying to use the GPIO interrupt mechanism but I have a problem: Immediately after I enable the pin interrupt - the interrupt occurs. It happens every time I try it, no matter what the polarity is or any other parameters I configured (I think I tried them all). The inputs are connected to buttons that show a consistent value of logic '0' (about 0.8v), when not pushed. Does anybody have an idea of what might be the problem? Thank you in advance, Ari |
|
|
|
Hi Ari, In the Motorola SDK on-line documentation, I did a search for "GPIO interrupt", and I found the following information. You can start the on-line documentation as follows: Start Programs Motorola Embedded SDK 2.5 Help and Documentation In "Contents", go to: Motorola Embedded SDK DSP56800/800E Processors Manuals DSP56F826/827 User's Manual 8 General Purpose I/O 8.3 GPIO Interrupts This explains (in quite a bit of detail) just how the GPIO interrupt system works. You should refer to the User's Manual for the specific processor you are using, if it is not the DSP56F826/827. Also, as a general rule for any type of interrupt problem like this, I usually do one of the following things: 1) Immediately before enabling the interrupt, perform the procedure that is used to clear the interrupt source. This usually involves reading from or writing to some of the peripheral registers, and is explained in the User's Manual in the section that describes that type of I/O (Section 8 in the above example for the DSP56F826/827 User's Manual General Purpose I/O). 2) Use a flag or a counter, to ignore the first interrupt from the device. I hope this information helps to solve your problem. Regards, Art Johnson Senior Systems Analyst PMC Prime Mover Controls Inc. 3600 Gilmore Way Burnaby, B.C., Canada V5G 4R8 Phone: 604 433-4644 FAX: 604 433-5570 Email: http://www.pmc-controls.com -----Original Message----- From: atid2 [mailto:] Sent: Tuesday, November 19, 2002 6:50 AM To: Subject: [motoroladsp] GPIO interrupts in DSP56F827 Hi, I am trying to use the GPIO interrupt mechanism but I have a problem: Immediately after I enable the pin interrupt - the interrupt occurs. It happens every time I try it, no matter what the polarity is or any other parameters I configured (I think I tried them all). The inputs are connected to buttons that show a consistent value of logic '0' (about 0.8v), when not pushed. Does anybody have an idea of what might be the problem? Thank you in advance, Ari _____________________________________ /groups.php3 |
|
|
|
Hi all, After a few weeks of breaking everything around me, I found the problem with the GPIO interrupts: I'm using port C on the DSP56F827 and it's pins are multiplexed. Apparently the SRD(GPIO C0) and SRFS(GPIO C1) pins were connected to a stereo CODEC in the EVM , which triggered the interrupts (although the pins were configured to be controlled by GPIO and not the peripherals). Only after I physically disconnected R49 and R50, the interrupt stoped from reoccurring. It amazes me how motorola can sell a product with such a problem - but I guess I'm a newbie. Cheers, Ari --- In motoroladsp@y..., "Art Johnson" <art@p...> wrote: > Hi Ari, > > In the Motorola SDK on-line documentation, I did a search for "GPIO interrupt", and I found the following information. You can start the on-line documentation as follows: > Start > Programs > Motorola > Embedded SDK 2.5 > Help and Documentation > > In "Contents", go to: > Motorola Embedded SDK > DSP56800/800E Processors > Manuals > DSP56F826/827 User's Manual > 8 General Purpose I/O > 8.3 GPIO Interrupts > > This explains (in quite a bit of detail) just how the GPIO interrupt system works. You should refer to the User's Manual for the specific processor you are using, if it is not the DSP56F826/827. > > Also, as a general rule for any type of interrupt problem like this, I usually do one of the following things: > > 1) Immediately before enabling the interrupt, perform the procedure that is used to clear the interrupt source. This usually involves reading from or writing to some of the peripheral registers, and is explained in the User's Manual in the section that describes that type of I/O (Section 8 in the above example for the DSP56F826/827 User's Manual General Purpose I/O). > > 2) Use a flag or a counter, to ignore the first interrupt from the device. > > I hope this information helps to solve your problem. > > Regards, > > Art Johnson > Senior Systems Analyst > PMC Prime Mover Controls Inc. > 3600 Gilmore Way > Burnaby, B.C., Canada > V5G 4R8 > Phone: 604 433-4644 > FAX: 604 433-5570 > Email: art@p... > http://www.pmc-controls.com > > > -----Original Message----- > From: atid2 [mailto:ari@a...] > Sent: Tuesday, November 19, 2002 6:50 AM > To: motoroladsp@y... > Subject: [motoroladsp] GPIO interrupts in DSP56F827 > Hi, > > I am trying to use the GPIO interrupt mechanism but I have a problem: > Immediately after I enable the pin interrupt - the interrupt occurs. > It happens every time I try it, no matter what the polarity is or > any other parameters I configured (I think I tried them all). > The inputs are connected to buttons that show a consistent value of > logic '0' (about 0.8v), when not pushed. > > Does anybody have an idea of what might be the problem? > > Thank you in advance, > > Ari > > _____________________________________ > /groups.php3 |