That's what everyone else thinks too, so don't feel too bad.
However, the "Interrupt On Change" on some chips have many interrupt flags that "funnel" into a single IOCIF flag.
DT_INTS only knows about the one IOCIF flag. It has no control over the other 8 flags in the IOCBF register.
It's alot like the USB modules which have 12 interrupt flags that funnel into a single USBIF flag.
But for some reason, nobody expects DT_INTS to handle all of those automatically.
Well actually, if you add DT_HID, they are handled automatically, but that's not the point.
There are too many variations of the IOC interrupts.
Some chips have them on PORTB, some on PORTA, and some have combinatons of PORTA, PORTB and PORTC.
Its the one part of a PIC that you can pretty much assume won't work the same way as the last chip you used.
And there are too many ways you can use IOC interrupts, there's no way I could make something that would work for everybody.
It's much easier for the user to add one or two lines of code to clear the flags the way that best fits the application.




Bookmarks