This framework is part of the custom PlatformIO platform that MarlinFirmware uses to build for the LPC176x MCU.
The framework aims to eventually be Arduino API compatible, though Arduino libraries will probably not work, this is a work in progress with most basic functionality available.
If your board layout does not use the default pins for UART RX/TX override them with the definitions below.
Serial | TX | RX | FUNCNUM |
---|---|---|---|
Default | P0_02 | P0_03 | 1 |
Serial1 | TX | RX | FUNCNUM |
---|---|---|---|
Default | P0_15 | P0_16 | 1 |
LPC_PINCFG_UART1_P2_00 |
P2_00 | P2_01 | 2 |
Serial2 | TX | RX | FUNCNUM |
---|---|---|---|
Default | P0_10 | P0_11 | 1 |
LPC_PINCFG_UART2_P2_08 |
P2_08 | P2_09 | 2 |
Serial3 | TX | RX | FUNCNUM |
---|---|---|---|
Default | P0_00 | P0_01 | 2 |
LPC_PINCFG_UART3_P0_25 |
P0_25 | P0_26 | 3 |
LPC_PINCFG_UART3_P4_28 |
P4_28 | P4_29 | 3 |
There are 8 ADC channels available
Pin | Channel Number |
---|---|
P0_02 | 7 |
P0_03 | 6 |
P0_23 | 0 |
P0_24 | 1 |
P0_25 | 2 |
P0_26 | 3 |
P1_30 | 4 |
P1_31 | 5 |
Although all pins can be used for PWM (software mode) there are 6 Hardware PWM channels, if a hardware channel is available for a pin but it is in use by another pin it will fall back into software mode, All channels software and hardware share a period (default 20ms).
Hardware channel | Attached pins |
---|---|
1 | P1_18, P2_00 |
2 | P1_20, P2_01, P3_25 |
3 | P1_21, P2_02, P3_26 |
4 | P1_23, P2_03 |
5 | P1_24, P2_04 |
6 | P1_26, P2_05 |