2024-07-25 04:03 AM
I am using the STEVAL-STWINBX1 development board with the FP-SNS-DATALOG2 software.
I would like to configure an external interrupt for a digital input, but it appears all 15 external interrupts are being used ?
On the schematic, there is a table which implies all 15 external interrupts are used....
However, in exti_pin_map.c external interrupts 5, 11, 12 and 13 don't appear to be used...
Yet the STEVAL-STWINBX1_FP-SNS-DATALOG2.ioc configuration shows all 15 external interrupts are used...
Using the Segger J-Link debugger, I set break points at each external interrupt in the source file stm32u5xx_it.c...
The breakpoints work for the following external interrupts:
However, the only other external interrupt which breakpoints is EXTI14_IRQHandler.
I don't understand why the external interrupts do not breakpoint ?
I can't work out if there is a spare external interrupt, because of the discrepancies I've found above and the fact only 3 of the external interrupts actually breakpoint.
I have created a new project with external interrupts on PB1 and PD15 and these breakpoints work...
So I can get it working in a new project, but not in the FP-SNS-DATALOG2 project.
2024-07-25 08:12 AM
Hello @johngj
Interrupt lines in FP-SNS-DATALOG2 are working properly. Once a sensor has new data ready, the interrupt pin is toggled. You can see the sensor-related EXTI_IRQHandler
invoked during the logging phase only. This is the standard way FP-SNS-DATALOG2 works.
You also mentioned that starting from a blank project, you succeeded, am I right? So, you already know how to set up GPIOs and IRQs.
What you are describing here and in many other threads on the community doesn't seem strictly related to our product. It is specifically related to the custom developments you are applying over FP-SNS-DATALOG2.
I can provide you with some hints, help you understand the product, and overcome bugs, but I can't offer deep and specific support for custom development. Have you considered ST Partner Program already? Here you can search for a ST Partner that can provide technical support to help you find the best solution.
Best regards
Simone
2024-07-25 08:37 AM
Thanks Simone, I set one breakpoint at a time in each of the EXTIx_IRQHandler (where x - 0 to 15) and started the log, but the debugger only stopped in EXTI14_IRQHandler.
The only other external interrupt that the he debugger stopped in was EXTI0_IRQHandler (when USR_BUTTON is pressed) or EXTI10_IRQHandler (when BUTTON_POWER is pressed).
Breakpoints in any of the other EXTIx_IRQHandler interrupts did not stop the debugger.
"You also mentioned that starting from a blank project, you succeeded, am I right? So, you already know how to set up GPIOs and IRQs." ...... yes this is correct. But this was a blank, clean project, unlike FP-SNS-DATALOG2 where external interrupts are already used. To confuse matters, there seems to be discrepancies between the schematic, ioc project and exti_pin_map.c in terms of which external interrupts are used. And the fact that the debugger only breakpoints in external interrupts 0, 10 and 14. Therefore it's not clear which external interrupts are used by FP-SNS-DATALOG2 and which are spare (if any).