IRQ1 doesn't work on AT91SAM7S321?
Posted: Sun Nov 14, 2010 4:18 pm
Hi everybody,
I've built two, identical, custom devices with the AT91SAM7S321 as main microcontroller. The device's ADC didn't work as expected, so I started bugtracking (again
).
The ADC pulls a signal line low when there's a new sample available. This signal line is connected to pin D6 (hardware pin 42, ARM pin PA30), a pin that can be used as the MCU's second interrupt line (IRQ1).
Both devices were unable to pick up any line changes, even with the simple test program below:

After that, I made a hardware bypass (wire jump) from the ADC's line to pin D3 (hardware pin 16, ARM pin PA20), the MCU's first interrupt line (IRQ0). This time I was able to pick up the line changes and everything worked as expected: a nice steady square wave on output pin C5. Doesn't seem to be a hardware problem as pin D6 does work as a normal input/output.
Trouble is that I really need pin D3 (IRQ0) for other purposes and want to use IRQ1 as interrupt input. My guess is that there's another error in one of the .h and/or .c-files, but which one? Can somebody please look into this? Thanks in advance.
Paul
I've built two, identical, custom devices with the AT91SAM7S321 as main microcontroller. The device's ADC didn't work as expected, so I started bugtracking (again

The ADC pulls a signal line low when there's a new sample available. This signal line is connected to pin D6 (hardware pin 42, ARM pin PA30), a pin that can be used as the MCU's second interrupt line (IRQ1).
Both devices were unable to pick up any line changes, even with the simple test program below:

After that, I made a hardware bypass (wire jump) from the ADC's line to pin D3 (hardware pin 16, ARM pin PA20), the MCU's first interrupt line (IRQ0). This time I was able to pick up the line changes and everything worked as expected: a nice steady square wave on output pin C5. Doesn't seem to be a hardware problem as pin D6 does work as a normal input/output.
Trouble is that I really need pin D3 (IRQ0) for other purposes and want to use IRQ1 as interrupt input. My guess is that there's another error in one of the .h and/or .c-files, but which one? Can somebody please look into this? Thanks in advance.
Paul