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