Main Site Documentation

ISR in interop


Hi, all.

I’m trying to put usart funcion in interop. I almost did it following the guide as below:

I implmented send function and data stream can be transfered in C# application through the class I made. But when I send packet through usart, the board just freeze when it get the stream. I want to figure out what is cause, so I debug through Keil project. But in that code, ISR part cannot be accessed with debugger (I cannot hit break point in that area)

I’m using USART2 in my board. Other functions look like this: Made from “generate stubs…” and tested it works in simple case. I thought ISR called when it get flag, so I just put native source in .cpp.

I wonder if I want to use ISR in interop, is there any special way of?



Found one more.

When I debug using ST-link debugger. Marking breakpoint is not available in the ISR.


If you want to use ISR in interop, you should have follow the PK convention in RCLPort document.

What I used as reference is on the web, and it’s very old and weak. Lots of informations are in RCLPort included in PK.

I’m arguing with myself, fun!


Which product are you using?


@ Gus
I’m using customized board, and it has external RAM, Ethernet, other things. It is based on STM32F429II chip.

I solved my problem without ISR. I tried to use it, but I’m not sure it can do.