lpcopen-errata
This is an old revision of the document!
lpc11u6x
Chip_SYSCTL_SetPinInterrupt() setzt falsche Pin Nummer in LPC_SYSCTL->PINTSEL whenn GPIO Port 1 oder 2 übergeben
--- syscon_11u6x.c 2019-11-07 20:07:54.801808700 +0100
+++ syscon_11u6x.patched.c 2019-11-07 12:32:45.588811000 +0100
@@ -63,10 +63,18 @@
if (port == 0) {
/* Pins P0.1 to P0.23 only */
LPC_SYSCTL->PINTSEL[intno] = (uint32_t) pin;
- } else {
+ }
+#if 1
+ else if (port == 1)
+ LPC_SYSCTL->PINTSEL[intno] = (uint32_t)(24 + pin);
+ else if (port == 2)
+ LPC_SYSCTL->PINTSEL[intno] = (uint32_t)(56 + pin);
+#else
+ else {
/* P1.1 to P1.31 and P2.0 to P2.7 */
LPC_SYSCTL->PINTSEL[intno] = (uint32_t) ((port - 1) * 32 + pin);
}
+#endif
}
/* Setup deep sleep behaviour for power down */
lpcopen-errata.1573153866.txt.gz · Last modified: by maxi2
