Kinetis KL1x and KL2x PORT interrupts

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Kinetis KL1x and KL2x PORT interrupts

1,392 Views
lfschrickte
Contributor IV

Hi,

I just realized, after finishing my board layout, that there are no support for interrupts in some PORTs on Kinetis KL1x and KL2x!

I can't find this information clear enough in any documentation from Freescale - only CodeWarrior tells me that I can't enable interrupts in any port that is not PORTA or PORTD. And there is the vector table that doesn' t have a position to the other PORTs interrupt handlers.

However, there is, in the KL14 reference manual, this sentence:

The external interrupt capability of the PORT module is available in all digital pin

muxing modes provided the PORT module is enabled.

Each pin can be individually configured for any of the following external interrupt

modes:

• Interrupt disabled, default out of reset

• Active high level sensitive interrupt

• Active low level sensitive interrupt

And, to make things more confusing, every PORT has an interrupt flag register.

Can anyone confirm me at least that this is true: there is no support for interrupts in the pins that are not part of PORTA and PORTD?

Funny thing about it is that I can configure LLWU interrupts in many of these pins (from ports C, E...)!

If there is some workaround, please tell me. I wish Freescale documentation was more clear :smileysad:

Thank you

Luiz Fernando

Labels (1)
Tags (3)
2 Replies

367 Views
JimDon
Senior Contributor III

It is true that only PORTA and PORTD support this.

There is no work around, to save cost and power, only these are implemented - 64 should be enough on a small mcu, one would think (although probably some are unavailable due to shared function).

I learned this from the vector table first - there are only vectors fo ports A and D, not sure how (or if) I confirmed it.

It is also true that you can attempt to enable any one of them, but the bits might not stick (I have not tried it).

The NVIC  registers are just stock that way, same for the PCR registers. These are defined by ARM but the implementation is optional, and if Freescale forgot to mention  this somewhere, well that is an inconvenient oversight.

367 Views
Monica
Senior Contributor III

Jim, thanks for your observations! Already passed this to the ones who can validate and make changes in documentation. Really appreciate your contributions.

Best regards!

Monica

0 Kudos