-
Notifications
You must be signed in to change notification settings - Fork 19
Avoid PWM timer clashes
The core library uses various hardware timers to provide PWM functionality. If you allocate one of these timers with the TeensyTimerTool the corresponding pins necessarily are not able to do PWM anymore. So, if you need PWM on a pin, make sure not to allocate the corresponding timer. You can find a table showing which PWM pin uses which timer here (scroll down to the PWM frequency chapter). Unfortunately this table only has information for the T3.x boards.
However, using the sketch below you can easily print out that information for all ARM based Teensies yourself. In addition to the used PWM timer the sketch prints information about GPIO register for the pins. The output is conveniently sorted in 3 ways. You can download the complete sources here.
#include "PinInfo.h"
#include <algorithm>
void setup()
{
while (!Serial) {}
// setup an array containing info for all digital pins
PinInfo* pins[CORE_NUM_DIGITAL];
for (unsigned i = 0; i < CORE_NUM_DIGITAL; i++)
{
pins[i] = new PinInfo(i);
}
// Print out info sorted by pin numbers
Serial.println("-------------------------------");
Serial.println(" Sorted by pin number");
printPins(pins, CORE_NUM_DIGITAL);
Serial.println("\n-------------------------------");
Serial.println(" Sorted by PWM timer");
std::sort(pins, pins + CORE_NUM_DIGITAL, [](PinInfo* a, PinInfo* b) {
if (a->pwmTimerInfo.type < b->pwmTimerInfo.type) return false;
if (a->pwmTimerInfo.type > b->pwmTimerInfo.type) return true;
if (a->pwmTimerInfo.module < b->pwmTimerInfo.module) return true;
return false;
});
printPins(pins, CORE_NUM_DIGITAL);
Serial.println("\n-------------------------------");
Serial.println(" Sorted by GPIO register: ");
std::sort(pins, pins + CORE_NUM_DIGITAL, [](PinInfo* a, PinInfo* b) {
if (a->gpioInfo.gpioPortNr < b->gpioInfo.gpioPortNr) return true;
if (a->gpioInfo.gpioPortNr > b->gpioInfo.gpioPortNr) return false;
if (a->gpioInfo.gpioBitNr < b->gpioInfo.gpioBitNr) return true;
return false;
});
printPins(pins, CORE_NUM_DIGITAL);
}
void loop() {}
// Helpers -------------------------------------------------------
void printPins(PinInfo* pins[], unsigned nrOfPins)
{
Serial.println("Pin | GPIO Reg | PWM timer");
Serial.println("----|------------|-------------");
for (unsigned i = 0; i < nrOfPins; i++)
{
Serial.printf("%02d | %-9s | %-10s\n", pins[i]->pin, pins[i]->gpioInfo.name, pins[i]->pwmTimerInfo.name);
}
}| Pin | GPIO Reg | PWM timer |
|---|---|---|
| 00 | GPIO6_03 | FLEX_PWM1 |
| 01 | GPIO6_02 | FLEX_PWM1 |
| 02 | GPIO9_04 | FLEX_PWM4 |
| 03 | GPIO9_05 | FLEX_PWM4 |
| 04 | GPIO9_06 | FLEX_PWM2 |
| 05 | GPIO9_08 | FLEX_PWM2 |
| 06 | GPIO7_10 | FLEX_PWM2 |
| 07 | GPIO7_17 | FLEX_PWM1 |
| 08 | GPIO7_16 | FLEX_PWM1 |
| 09 | GPIO7_11 | FLEX_PWM2 |
| 10 | GPIO7_00 | QUAD1 |
| 11 | GPIO7_02 | QUAD1 |
| 12 | GPIO7_01 | QUAD1 |
| 13 | GPIO7_03 | QUAD2 |
| 14 | GPIO6_18 | QUAD3 |
| 15 | GPIO6_19 | QUAD3 |
| 16 | GPIO6_23 | no pwm |
| 17 | GPIO6_22 | no pwm |
| 18 | GPIO6_17 | QUAD3 |
| 19 | GPIO6_16 | QUAD3 |
| 20 | GPIO6_26 | no pwm |
| 21 | GPIO6_27 | no pwm |
| 22 | GPIO6_24 | FLEX_PWM4 |
| 23 | GPIO6_25 | FLEX_PWM4 |
| 24 | GPIO6_12 | FLEX_PWM1 |
| 25 | GPIO6_13 | FLEX_PWM1 |
| 26 | GPIO6_30 | no pwm |
| 27 | GPIO6_31 | no pwm |
| 28 | GPIO8_18 | FLEX_PWM3 |
| 29 | GPIO9_31 | FLEX_PWM3 |
| 30 | GPIO8_23 | no pwm |
| 31 | GPIO8_22 | no pwm |
| 32 | GPIO7_12 | no pwm |
| 33 | GPIO9_07 | FLEX_PWM2 |
| 34 | GPIO7_29 | no pwm |
| 35 | GPIO7_28 | no pwm |
| 36 | GPIO7_18 | FLEX_PWM2 |
| 37 | GPIO7_19 | FLEX_PWM2 |
| 38 | GPIO6_28 | no pwm |
| 39 | GPIO6_29 | no pwm |
| 40 | GPIO6_20 | no pwm |
| 41 | GPIO6_21 | no pwm |
| 42 | GPIO8_15 | FLEX_PWM1 |
| 43 | GPIO8_14 | FLEX_PWM1 |
| 44 | GPIO8_13 | FLEX_PWM1 |
| 45 | GPIO8_12 | FLEX_PWM1 |
| 46 | GPIO8_17 | FLEX_PWM1 |
| 47 | GPIO8_16 | FLEX_PWM1 |
| 48 | GPIO9_24 | no pwm |
| 49 | GPIO9_27 | no pwm |
| 50 | GPIO9_28 | no pwm |
| 51 | GPIO9_22 | FLEX_PWM3 |
| 52 | GPIO9_26 | no pwm |
| 53 | GPIO9_25 | no pwm |
| 54 | GPIO9_29 | FLEX_PWM3 |
| Pin | GPIO Reg | PWM timer |
|---|---|---|
| 10 | GPIO7_00 | QUAD1 |
| 11 | GPIO7_02 | QUAD1 |
| 12 | GPIO7_01 | QUAD1 |
| 13 | GPIO7_03 | QUAD2 |
| 19 | GPIO6_16 | QUAD3 |
| 18 | GPIO6_17 | QUAD3 |
| 14 | GPIO6_18 | QUAD3 |
| 15 | GPIO6_19 | QUAD3 |
| 01 | GPIO6_02 | FLEX_PWM1 |
| 25 | GPIO6_13 | FLEX_PWM1 |
| 24 | GPIO6_12 | FLEX_PWM1 |
| 42 | GPIO8_15 | FLEX_PWM1 |
| 43 | GPIO8_14 | FLEX_PWM1 |
| 44 | GPIO8_13 | FLEX_PWM1 |
| 45 | GPIO8_12 | FLEX_PWM1 |
| 46 | GPIO8_17 | FLEX_PWM1 |
| 47 | GPIO8_16 | FLEX_PWM1 |
| 08 | GPIO7_16 | FLEX_PWM1 |
| 07 | GPIO7_17 | FLEX_PWM1 |
| 00 | GPIO6_03 | FLEX_PWM1 |
| 09 | GPIO7_11 | FLEX_PWM2 |
| 06 | GPIO7_10 | FLEX_PWM2 |
| 05 | GPIO9_08 | FLEX_PWM2 |
| 04 | GPIO9_06 | FLEX_PWM2 |
| 37 | GPIO7_19 | FLEX_PWM2 |
| 36 | GPIO7_18 | FLEX_PWM2 |
| 33 | GPIO9_07 | FLEX_PWM2 |
| 51 | GPIO9_22 | FLEX_PWM3 |
| 54 | GPIO9_29 | FLEX_PWM3 |
| 28 | GPIO8_18 | FLEX_PWM3 |
| 29 | GPIO9_31 | FLEX_PWM3 |
| 23 | GPIO6_25 | FLEX_PWM4 |
| 02 | GPIO9_04 | FLEX_PWM4 |
| 03 | GPIO9_05 | FLEX_PWM4 |
| 22 | GPIO6_24 | FLEX_PWM4 |
| 20 | GPIO6_26 | no pwm |
| 30 | GPIO8_23 | no pwm |
| 53 | GPIO9_25 | no pwm |
| 52 | GPIO9_26 | no pwm |
| 31 | GPIO8_22 | no pwm |
| 50 | GPIO9_28 | no pwm |
| 49 | GPIO9_27 | no pwm |
| 48 | GPIO9_24 | no pwm |
| 16 | GPIO6_23 | no pwm |
| 17 | GPIO6_22 | no pwm |
| 35 | GPIO7_28 | no pwm |
| 21 | GPIO6_27 | no pwm |
| 32 | GPIO7_12 | no pwm |
| 34 | GPIO7_29 | no pwm |
| 41 | GPIO6_21 | no pwm |
| 40 | GPIO6_20 | no pwm |
| 39 | GPIO6_29 | no pwm |
| 38 | GPIO6_28 | no pwm |
| 26 | GPIO6_30 | no pwm |
| 27 | GPIO6_31 | no pwm |
| Pin | GPIO Reg | PWM timer |
|---|---|---|
| 01 | GPIO6_02 | FLEX_PWM1 |
| 00 | GPIO6_03 | FLEX_PWM1 |
| 24 | GPIO6_12 | FLEX_PWM1 |
| 25 | GPIO6_13 | FLEX_PWM1 |
| 19 | GPIO6_16 | QUAD3 |
| 18 | GPIO6_17 | QUAD3 |
| 14 | GPIO6_18 | QUAD3 |
| 15 | GPIO6_19 | QUAD3 |
| 40 | GPIO6_20 | no pwm |
| 41 | GPIO6_21 | no pwm |
| 17 | GPIO6_22 | no pwm |
| 16 | GPIO6_23 | no pwm |
| 22 | GPIO6_24 | FLEX_PWM4 |
| 23 | GPIO6_25 | FLEX_PWM4 |
| 20 | GPIO6_26 | no pwm |
| 21 | GPIO6_27 | no pwm |
| 38 | GPIO6_28 | no pwm |
| 39 | GPIO6_29 | no pwm |
| 26 | GPIO6_30 | no pwm |
| 27 | GPIO6_31 | no pwm |
| 10 | GPIO7_00 | QUAD1 |
| 12 | GPIO7_01 | QUAD1 |
| 11 | GPIO7_02 | QUAD1 |
| 13 | GPIO7_03 | QUAD2 |
| 06 | GPIO7_10 | FLEX_PWM2 |
| 09 | GPIO7_11 | FLEX_PWM2 |
| 32 | GPIO7_12 | no pwm |
| 08 | GPIO7_16 | FLEX_PWM1 |
| 07 | GPIO7_17 | FLEX_PWM1 |
| 36 | GPIO7_18 | FLEX_PWM2 |
| 37 | GPIO7_19 | FLEX_PWM2 |
| 35 | GPIO7_28 | no pwm |
| 34 | GPIO7_29 | no pwm |
| 45 | GPIO8_12 | FLEX_PWM1 |
| 44 | GPIO8_13 | FLEX_PWM1 |
| 43 | GPIO8_14 | FLEX_PWM1 |
| 42 | GPIO8_15 | FLEX_PWM1 |
| 47 | GPIO8_16 | FLEX_PWM1 |
| 46 | GPIO8_17 | FLEX_PWM1 |
| 28 | GPIO8_18 | FLEX_PWM3 |
| 31 | GPIO8_22 | no pwm |
| 30 | GPIO8_23 | no pwm |
| 02 | GPIO9_04 | FLEX_PWM4 |
| 03 | GPIO9_05 | FLEX_PWM4 |
| 04 | GPIO9_06 | FLEX_PWM2 |
| 33 | GPIO9_07 | FLEX_PWM2 |
| 05 | GPIO9_08 | FLEX_PWM2 |
| 51 | GPIO9_22 | FLEX_PWM3 |
| 48 | GPIO9_24 | no pwm |
| 53 | GPIO9_25 | no pwm |
| 52 | GPIO9_26 | no pwm |
| 49 | GPIO9_27 | no pwm |
| 50 | GPIO9_28 | no pwm |
| 54 | GPIO9_29 | FLEX_PWM3 |
| 29 | GPIO9_31 | FLEX_PWM3 |
| Pin | GPIO Reg | PWM timer |
|---|---|---|
| 00 | GPIO6_03 | FLEX_PWM1 |
| 01 | GPIO6_02 | FLEX_PWM1 |
| 02 | GPIO9_04 | FLEX_PWM4 |
| 03 | GPIO9_05 | FLEX_PWM4 |
| 04 | GPIO9_06 | FLEX_PWM2 |
| 05 | GPIO9_08 | FLEX_PWM2 |
| 06 | GPIO7_10 | FLEX_PWM2 |
| 07 | GPIO7_17 | FLEX_PWM1 |
| 08 | GPIO7_16 | FLEX_PWM1 |
| 09 | GPIO7_11 | FLEX_PWM2 |
| 10 | GPIO7_00 | QUAD1 |
| 11 | GPIO7_02 | QUAD1 |
| 12 | GPIO7_01 | QUAD1 |
| 13 | GPIO7_03 | QUAD2 |
| 14 | GPIO6_18 | QUAD3 |
| 15 | GPIO6_19 | QUAD3 |
| 16 | GPIO6_23 | no pwm |
| 17 | GPIO6_22 | no pwm |
| 18 | GPIO6_17 | QUAD3 |
| 19 | GPIO6_16 | QUAD3 |
| 20 | GPIO6_26 | no pwm |
| 21 | GPIO6_27 | no pwm |
| 22 | GPIO6_24 | FLEX_PWM4 |
| 23 | GPIO6_25 | FLEX_PWM4 |
| 24 | GPIO6_12 | FLEX_PWM1 |
| 25 | GPIO6_13 | FLEX_PWM1 |
| 26 | GPIO6_30 | no pwm |
| 27 | GPIO6_31 | no pwm |
| 28 | GPIO8_18 | FLEX_PWM3 |
| 29 | GPIO9_31 | FLEX_PWM3 |
| 30 | GPIO8_23 | no pwm |
| 31 | GPIO8_22 | no pwm |
| 32 | GPIO7_12 | no pwm |
| 33 | GPIO9_07 | FLEX_PWM2 |
| 34 | GPIO8_15 | FLEX_PWM1 |
| 35 | GPIO8_14 | FLEX_PWM1 |
| 36 | GPIO8_13 | FLEX_PWM1 |
| 37 | GPIO8_12 | FLEX_PWM1 |
| 38 | GPIO8_17 | FLEX_PWM1 |
| 39 | GPIO8_16 | FLEX_PWM1 |
| Pin | GPIO Reg | PWM timer |
|---|---|---|
| 12 | GPIO7_01 | QUAD1 |
| 11 | GPIO7_02 | QUAD1 |
| 10 | GPIO7_00 | QUAD1 |
| 13 | GPIO7_03 | QUAD2 |
| 18 | GPIO6_17 | QUAD3 |
| 15 | GPIO6_19 | QUAD3 |
| 14 | GPIO6_18 | QUAD3 |
| 19 | GPIO6_16 | QUAD3 |
| 24 | GPIO6_12 | FLEX_PWM1 |
| 01 | GPIO6_02 | FLEX_PWM1 |
| 25 | GPIO6_13 | FLEX_PWM1 |
| 34 | GPIO8_15 | FLEX_PWM1 |
| 35 | GPIO8_14 | FLEX_PWM1 |
| 36 | GPIO8_13 | FLEX_PWM1 |
| 37 | GPIO8_12 | FLEX_PWM1 |
| 38 | GPIO8_17 | FLEX_PWM1 |
| 39 | GPIO8_16 | FLEX_PWM1 |
| 00 | GPIO6_03 | FLEX_PWM1 |
| 08 | GPIO7_16 | FLEX_PWM1 |
| 07 | GPIO7_17 | FLEX_PWM1 |
| 09 | GPIO7_11 | FLEX_PWM2 |
| 04 | GPIO9_06 | FLEX_PWM2 |
| 05 | GPIO9_08 | FLEX_PWM2 |
| 06 | GPIO7_10 | FLEX_PWM2 |
| 33 | GPIO9_07 | FLEX_PWM2 |
| 28 | GPIO8_18 | FLEX_PWM3 |
| 29 | GPIO9_31 | FLEX_PWM3 |
| 23 | GPIO6_25 | FLEX_PWM4 |
| 22 | GPIO6_24 | FLEX_PWM4 |
| 03 | GPIO9_05 | FLEX_PWM4 |
| 02 | GPIO9_04 | FLEX_PWM4 |
| 27 | GPIO6_31 | no pwm |
| 17 | GPIO6_22 | no pwm |
| 26 | GPIO6_30 | no pwm |
| 30 | GPIO8_23 | no pwm |
| 31 | GPIO8_22 | no pwm |
| 32 | GPIO7_12 | no pwm |
| 21 | GPIO6_27 | no pwm |
| 20 | GPIO6_26 | no pwm |
| 16 | GPIO6_23 | no pwm |
| Pin | GPIO Reg | PWM timer |
|---|---|---|
| 01 | GPIO6_02 | FLEX_PWM1 |
| 00 | GPIO6_03 | FLEX_PWM1 |
| 24 | GPIO6_12 | FLEX_PWM1 |
| 25 | GPIO6_13 | FLEX_PWM1 |
| 19 | GPIO6_16 | QUAD3 |
| 18 | GPIO6_17 | QUAD3 |
| 14 | GPIO6_18 | QUAD3 |
| 15 | GPIO6_19 | QUAD3 |
| 17 | GPIO6_22 | no pwm |
| 16 | GPIO6_23 | no pwm |
| 22 | GPIO6_24 | FLEX_PWM4 |
| 23 | GPIO6_25 | FLEX_PWM4 |
| 20 | GPIO6_26 | no pwm |
| 21 | GPIO6_27 | no pwm |
| 26 | GPIO6_30 | no pwm |
| 27 | GPIO6_31 | no pwm |
| 10 | GPIO7_00 | QUAD1 |
| 12 | GPIO7_01 | QUAD1 |
| 11 | GPIO7_02 | QUAD1 |
| 13 | GPIO7_03 | QUAD2 |
| 06 | GPIO7_10 | FLEX_PWM2 |
| 09 | GPIO7_11 | FLEX_PWM2 |
| 32 | GPIO7_12 | no pwm |
| 08 | GPIO7_16 | FLEX_PWM1 |
| 07 | GPIO7_17 | FLEX_PWM1 |
| 37 | GPIO8_12 | FLEX_PWM1 |
| 36 | GPIO8_13 | FLEX_PWM1 |
| 35 | GPIO8_14 | FLEX_PWM1 |
| 34 | GPIO8_15 | FLEX_PWM1 |
| 39 | GPIO8_16 | FLEX_PWM1 |
| 38 | GPIO8_17 | FLEX_PWM1 |
| 28 | GPIO8_18 | FLEX_PWM3 |
| 31 | GPIO8_22 | no pwm |
| 30 | GPIO8_23 | no pwm |
| 02 | GPIO9_04 | FLEX_PWM4 |
| 03 | GPIO9_05 | FLEX_PWM4 |
| 04 | GPIO9_06 | FLEX_PWM2 |
| 33 | GPIO9_07 | FLEX_PWM2 |
| 05 | GPIO9_08 | FLEX_PWM2 |
| 29 | GPIO9_31 | FLEX_PWM3 |
| Pin | GPIO Reg | PWM timer |
|---|---|---|
| 00 | GPIO6_03 | FLEX_PWM1 |
| 01 | GPIO6_02 | FLEX_PWM1 |
| 02 | GPIO9_04 | FLEX_PWM4 |
| 03 | GPIO9_05 | FLEX_PWM4 |
| 04 | GPIO9_06 | FLEX_PWM2 |
| 05 | GPIO9_08 | FLEX_PWM2 |
| 06 | GPIO7_10 | FLEX_PWM2 |
| 07 | GPIO7_17 | FLEX_PWM1 |
| 08 | GPIO7_16 | FLEX_PWM1 |
| 09 | GPIO7_11 | FLEX_PWM2 |
| 10 | GPIO7_00 | QUAD1 |
| 11 | GPIO7_02 | QUAD1 |
| 12 | GPIO7_01 | QUAD1 |
| 13 | GPIO7_03 | QUAD2 |
| 14 | GPIO6_18 | QUAD3 |
| 15 | GPIO6_19 | QUAD3 |
| 16 | GPIO6_23 | no pwm |
| 17 | GPIO6_22 | no pwm |
| 18 | GPIO6_17 | QUAD3 |
| 19 | GPIO6_16 | QUAD3 |
| 20 | GPIO6_26 | no pwm |
| 21 | GPIO6_27 | no pwm |
| 22 | GPIO6_24 | FLEX_PWM4 |
| 23 | GPIO6_25 | FLEX_PWM4 |
| 24 | GPIO6_12 | FLEX_PWM1 |
| 25 | GPIO6_13 | FLEX_PWM1 |
| 26 | GPIO6_30 | no pwm |
| 27 | GPIO6_31 | no pwm |
| 28 | GPIO8_18 | FLEX_PWM3 |
| 29 | GPIO9_31 | FLEX_PWM3 |
| 30 | GPIO8_23 | no pwm |
| 31 | GPIO8_22 | no pwm |
| 32 | GPIO7_12 | no pwm |
| 33 | GPIO9_07 | FLEX_PWM2 |
| 34 | GPIO8_15 | FLEX_PWM1 |
| 35 | GPIO8_14 | FLEX_PWM1 |
| 36 | GPIO8_13 | FLEX_PWM1 |
| 37 | GPIO8_12 | FLEX_PWM1 |
| 38 | GPIO8_17 | FLEX_PWM1 |
| 39 | GPIO8_16 | FLEX_PWM1 |
| 40 | GPIO7_04 | QUAD2 |
| 41 | GPIO7_05 | QUAD2 |
| 42 | GPIO7_06 | no pwm |
| 43 | GPIO7_07 | no pwm |
| 44 | GPIO7_08 | no pwm |
| 45 | GPIO7_09 | QUAD4 |
| Pin | GPIO Reg | PWM timer |
|---|---|---|
| 12 | GPIO7_01 | QUAD1 |
| 11 | GPIO7_02 | QUAD1 |
| 10 | GPIO7_00 | QUAD1 |
| 41 | GPIO7_05 | QUAD2 |
| 40 | GPIO7_04 | QUAD2 |
| 13 | GPIO7_03 | QUAD2 |
| 19 | GPIO6_16 | QUAD3 |
| 18 | GPIO6_17 | QUAD3 |
| 15 | GPIO6_19 | QUAD3 |
| 14 | GPIO6_18 | QUAD3 |
| 45 | GPIO7_09 | QUAD4 |
| 34 | GPIO8_15 | FLEX_PWM1 |
| 35 | GPIO8_14 | FLEX_PWM1 |
| 36 | GPIO8_13 | FLEX_PWM1 |
| 37 | GPIO8_12 | FLEX_PWM1 |
| 38 | GPIO8_17 | FLEX_PWM1 |
| 39 | GPIO8_16 | FLEX_PWM1 |
| 25 | GPIO6_13 | FLEX_PWM1 |
| 24 | GPIO6_12 | FLEX_PWM1 |
| 01 | GPIO6_02 | FLEX_PWM1 |
| 00 | GPIO6_03 | FLEX_PWM1 |
| 07 | GPIO7_17 | FLEX_PWM1 |
| 08 | GPIO7_16 | FLEX_PWM1 |
| 33 | GPIO9_07 | FLEX_PWM2 |
| 04 | GPIO9_06 | FLEX_PWM2 |
| 05 | GPIO9_08 | FLEX_PWM2 |
| 06 | GPIO7_10 | FLEX_PWM2 |
| 09 | GPIO7_11 | FLEX_PWM2 |
| 29 | GPIO9_31 | FLEX_PWM3 |
| 28 | GPIO8_18 | FLEX_PWM3 |
| 02 | GPIO9_04 | FLEX_PWM4 |
| 03 | GPIO9_05 | FLEX_PWM4 |
| 22 | GPIO6_24 | FLEX_PWM4 |
| 23 | GPIO6_25 | FLEX_PWM4 |
| 21 | GPIO6_27 | no pwm |
| 44 | GPIO7_08 | no pwm |
| 43 | GPIO7_07 | no pwm |
| 42 | GPIO7_06 | no pwm |
| 17 | GPIO6_22 | no pwm |
| 16 | GPIO6_23 | no pwm |
| 26 | GPIO6_30 | no pwm |
| 27 | GPIO6_31 | no pwm |
| 20 | GPIO6_26 | no pwm |
| 32 | GPIO7_12 | no pwm |
| 31 | GPIO8_22 | no pwm |
| 30 | GPIO8_23 | no pwm |
| Pin | GPIO Reg | PWM timer |
|---|---|---|
| 01 | GPIO6_02 | FLEX_PWM1 |
| 00 | GPIO6_03 | FLEX_PWM1 |
| 24 | GPIO6_12 | FLEX_PWM1 |
| 25 | GPIO6_13 | FLEX_PWM1 |
| 19 | GPIO6_16 | QUAD3 |
| 18 | GPIO6_17 | QUAD3 |
| 14 | GPIO6_18 | QUAD3 |
| 15 | GPIO6_19 | QUAD3 |
| 17 | GPIO6_22 | no pwm |
| 16 | GPIO6_23 | no pwm |
| 22 | GPIO6_24 | FLEX_PWM4 |
| 23 | GPIO6_25 | FLEX_PWM4 |
| 20 | GPIO6_26 | no pwm |
| 21 | GPIO6_27 | no pwm |
| 26 | GPIO6_30 | no pwm |
| 27 | GPIO6_31 | no pwm |
| 10 | GPIO7_00 | QUAD1 |
| 12 | GPIO7_01 | QUAD1 |
| 11 | GPIO7_02 | QUAD1 |
| 13 | GPIO7_03 | QUAD2 |
| 40 | GPIO7_04 | QUAD2 |
| 41 | GPIO7_05 | QUAD2 |
| 42 | GPIO7_06 | no pwm |
| 43 | GPIO7_07 | no pwm |
| 44 | GPIO7_08 | no pwm |
| 45 | GPIO7_09 | QUAD4 |
| 06 | GPIO7_10 | FLEX_PWM2 |
| 09 | GPIO7_11 | FLEX_PWM2 |
| 32 | GPIO7_12 | no pwm |
| 08 | GPIO7_16 | FLEX_PWM1 |
| 07 | GPIO7_17 | FLEX_PWM1 |
| 37 | GPIO8_12 | FLEX_PWM1 |
| 36 | GPIO8_13 | FLEX_PWM1 |
| 35 | GPIO8_14 | FLEX_PWM1 |
| 34 | GPIO8_15 | FLEX_PWM1 |
| 39 | GPIO8_16 | FLEX_PWM1 |
| 38 | GPIO8_17 | FLEX_PWM1 |
| 28 | GPIO8_18 | FLEX_PWM3 |
| 31 | GPIO8_22 | no pwm |
| 30 | GPIO8_23 | no pwm |
| 02 | GPIO9_04 | FLEX_PWM4 |
| 03 | GPIO9_05 | FLEX_PWM4 |
| 04 | GPIO9_06 | FLEX_PWM2 |
| 33 | GPIO9_07 | FLEX_PWM2 |
| 05 | GPIO9_08 | FLEX_PWM2 |
| 29 | GPIO9_31 | FLEX_PWM3 |
| Pin | GPIO Reg | PWM timer |
|---|---|---|
| 00 | GPIO1_16 | none |
| 01 | GPIO1_17 | none |
| 02 | GPIO3_00 | FTM3 |
| 03 | GPIO0_12 | FTM1 |
| 04 | GPIO0_13 | FTM1 |
| 05 | GPIO3_07 | FTM0 |
| 06 | GPIO3_04 | FTM0 |
| 07 | GPIO3_02 | FTM3 |
| 08 | GPIO3_03 | FTM3 |
| 09 | GPIO2_03 | FTM0 |
| 10 | GPIO2_04 | FTM0 |
| 11 | GPIO2_06 | none |
| 12 | GPIO2_07 | none |
| 13 | GPIO2_05 | none |
| 14 | GPIO3_01 | FTM3 |
| 15 | GPIO2_00 | none |
| 16 | GPIO1_00 | TPM1 |
| 17 | GPIO1_01 | TPM1 |
| 18 | GPIO1_03 | none |
| 19 | GPIO1_02 | none |
| 20 | GPIO3_05 | FTM0 |
| 21 | GPIO3_06 | FTM0 |
| 22 | GPIO2_01 | FTM0 |
| 23 | GPIO2_02 | FTM0 |
| 24 | GPIO4_26 | none |
| 25 | GPIO0_05 | none |
| 26 | GPIO0_14 | none |
| 27 | GPIO0_15 | none |
| 28 | GPIO0_16 | none |
| 29 | GPIO1_18 | FTM2 |
| 30 | GPIO1_19 | FTM2 |
| 31 | GPIO1_10 | none |
| 32 | GPIO1_11 | none |
| 33 | GPIO4_24 | none |
| 34 | GPIO4_25 | none |
| 35 | GPIO2_08 | FTM3 |
| 36 | GPIO2_09 | FTM3 |
| 37 | GPIO2_10 | FTM3 |
| 38 | GPIO2_11 | FTM3 |
| 39 | GPIO0_17 | none |
| 40 | GPIO0_28 | none |
| 41 | GPIO0_29 | none |
| 42 | GPIO0_26 | none |
| 43 | GPIO1_20 | none |
| 44 | GPIO1_22 | none |
| 45 | GPIO1_23 | none |
| 46 | GPIO1_21 | none |
| 47 | GPIO3_08 | none |
| 48 | GPIO3_09 | none |
| 49 | GPIO1_04 | none |
| 50 | GPIO1_05 | none |
| 51 | GPIO3_14 | none |
| 52 | GPIO3_13 | none |
| 53 | GPIO3_12 | none |
| 54 | GPIO3_15 | none |
| 55 | GPIO3_11 | none |
| 56 | GPIO4_10 | none |
| 57 | GPIO4_11 | none |
| 58 | GPIO4_00 | none |
| 59 | GPIO4_01 | none |
| 60 | GPIO4_02 | none |
| 61 | GPIO4_03 | none |
| 62 | GPIO4_04 | none |
| 63 | GPIO4_05 | none |
| Pin | GPIO Reg | PWM timer |
|---|---|---|
| 17 | GPIO1_01 | TPM1 |
| 16 | GPIO1_00 | TPM1 |
| 09 | GPIO2_03 | FTM0 |
| 20 | GPIO3_05 | FTM0 |
| 21 | GPIO3_06 | FTM0 |
| 22 | GPIO2_01 | FTM0 |
| 10 | GPIO2_04 | FTM0 |
| 23 | GPIO2_02 | FTM0 |
| 06 | GPIO3_04 | FTM0 |
| 05 | GPIO3_07 | FTM0 |
| 04 | GPIO0_13 | FTM1 |
| 03 | GPIO0_12 | FTM1 |
| 29 | GPIO1_18 | FTM2 |
| 30 | GPIO1_19 | FTM2 |
| 35 | GPIO2_08 | FTM3 |
| 38 | GPIO2_11 | FTM3 |
| 36 | GPIO2_09 | FTM3 |
| 37 | GPIO2_10 | FTM3 |
| 14 | GPIO3_01 | FTM3 |
| 08 | GPIO3_03 | FTM3 |
| 07 | GPIO3_02 | FTM3 |
| 02 | GPIO3_00 | FTM3 |
| 44 | GPIO1_22 | none |
| 47 | GPIO3_08 | none |
| 46 | GPIO1_21 | none |
| 45 | GPIO1_23 | none |
| 48 | GPIO3_09 | none |
| 49 | GPIO1_04 | none |
| 50 | GPIO1_05 | none |
| 51 | GPIO3_14 | none |
| 32 | GPIO1_11 | none |
| 52 | GPIO3_13 | none |
| 53 | GPIO3_12 | none |
| 54 | GPIO3_15 | none |
| 55 | GPIO3_11 | none |
| 56 | GPIO4_10 | none |
| 57 | GPIO4_11 | none |
| 58 | GPIO4_00 | none |
| 59 | GPIO4_01 | none |
| 60 | GPIO4_02 | none |
| 61 | GPIO4_03 | none |
| 62 | GPIO4_04 | none |
| 63 | GPIO4_05 | none |
| 27 | GPIO0_15 | none |
| 01 | GPIO1_17 | none |
| 11 | GPIO2_06 | none |
| 12 | GPIO2_07 | none |
| 13 | GPIO2_05 | none |
| 15 | GPIO2_00 | none |
| 18 | GPIO1_03 | none |
| 19 | GPIO1_02 | none |
| 24 | GPIO4_26 | none |
| 25 | GPIO0_05 | none |
| 26 | GPIO0_14 | none |
| 43 | GPIO1_20 | none |
| 28 | GPIO0_16 | none |
| 31 | GPIO1_10 | none |
| 00 | GPIO1_16 | none |
| 33 | GPIO4_24 | none |
| 34 | GPIO4_25 | none |
| 39 | GPIO0_17 | none |
| 40 | GPIO0_28 | none |
| 41 | GPIO0_29 | none |
| 42 | GPIO0_26 | none |
| Pin | GPIO Reg | PWM timer |
|---|---|---|
| 25 | GPIO0_05 | none |
| 03 | GPIO0_12 | FTM1 |
| 04 | GPIO0_13 | FTM1 |
| 26 | GPIO0_14 | none |
| 27 | GPIO0_15 | none |
| 28 | GPIO0_16 | none |
| 39 | GPIO0_17 | none |
| 42 | GPIO0_26 | none |
| 40 | GPIO0_28 | none |
| 41 | GPIO0_29 | none |
| 16 | GPIO1_00 | TPM1 |
| 17 | GPIO1_01 | TPM1 |
| 19 | GPIO1_02 | none |
| 18 | GPIO1_03 | none |
| 49 | GPIO1_04 | none |
| 50 | GPIO1_05 | none |
| 31 | GPIO1_10 | none |
| 32 | GPIO1_11 | none |
| 00 | GPIO1_16 | none |
| 01 | GPIO1_17 | none |
| 29 | GPIO1_18 | FTM2 |
| 30 | GPIO1_19 | FTM2 |
| 43 | GPIO1_20 | none |
| 46 | GPIO1_21 | none |
| 44 | GPIO1_22 | none |
| 45 | GPIO1_23 | none |
| 15 | GPIO2_00 | none |
| 22 | GPIO2_01 | FTM0 |
| 23 | GPIO2_02 | FTM0 |
| 09 | GPIO2_03 | FTM0 |
| 10 | GPIO2_04 | FTM0 |
| 13 | GPIO2_05 | none |
| 11 | GPIO2_06 | none |
| 12 | GPIO2_07 | none |
| 35 | GPIO2_08 | FTM3 |
| 36 | GPIO2_09 | FTM3 |
| 37 | GPIO2_10 | FTM3 |
| 38 | GPIO2_11 | FTM3 |
| 02 | GPIO3_00 | FTM3 |
| 14 | GPIO3_01 | FTM3 |
| 07 | GPIO3_02 | FTM3 |
| 08 | GPIO3_03 | FTM3 |
| 06 | GPIO3_04 | FTM0 |
| 20 | GPIO3_05 | FTM0 |
| 21 | GPIO3_06 | FTM0 |
| 05 | GPIO3_07 | FTM0 |
| 47 | GPIO3_08 | none |
| 48 | GPIO3_09 | none |
| 55 | GPIO3_11 | none |
| 53 | GPIO3_12 | none |
| 52 | GPIO3_13 | none |
| 51 | GPIO3_14 | none |
| 54 | GPIO3_15 | none |
| 58 | GPIO4_00 | none |
| 59 | GPIO4_01 | none |
| 60 | GPIO4_02 | none |
| 61 | GPIO4_03 | none |
| 62 | GPIO4_04 | none |
| 63 | GPIO4_05 | none |
| 56 | GPIO4_10 | none |
| 57 | GPIO4_11 | none |
| 33 | GPIO4_24 | none |
| 34 | GPIO4_25 | none |
| 24 | GPIO4_26 | none |
TeensyTimerTool - Generic Interface to Teensy Timers