cancel
Showing results for 
Search instead for 
Did you mean: 

STEVAL-STWINBX1 datalogger - are all external interrupts used ?

johngj
Senior

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....

johngj_0-1721903884064.png

However, in exti_pin_map.c external interrupts 5, 11, 12 and 13 don't appear to be used...

johngj_2-1721904515988.png

Yet the STEVAL-STWINBX1_FP-SNS-DATALOG2.ioc configuration shows all 15 external interrupts are used...

johngj_3-1721904701388.png

 

Using the Segger J-Link debugger, I set break points at each external interrupt in the source file stm32u5xx_it.c...

 

johngj_1-1721904284365.png

The breakpoints work for the following external interrupts:

  • EXTI0_IRQHandler when USR_BUTTON is pressed
  • EXTI10_IRQHandler when BUTTON_POWER is pressed

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...

johngj_4-1721905159559.png

So I can get it working in a new project, but not in the FP-SNS-DATALOG2 project.

 

 

 

2 REPLIES 2
SimonePradolini
ST Employee

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

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

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).