diff options
Diffstat (limited to 'tmk_core/tool/mbed/mbed-sdk/libraries/tests/mbed/portinout/main.cpp')
-rw-r--r-- | tmk_core/tool/mbed/mbed-sdk/libraries/tests/mbed/portinout/main.cpp | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/tmk_core/tool/mbed/mbed-sdk/libraries/tests/mbed/portinout/main.cpp b/tmk_core/tool/mbed/mbed-sdk/libraries/tests/mbed/portinout/main.cpp new file mode 100644 index 0000000000..22f2c66b3b --- /dev/null +++ b/tmk_core/tool/mbed/mbed-sdk/libraries/tests/mbed/portinout/main.cpp @@ -0,0 +1,139 @@ +#include "test_env.h" + +#if defined(TARGET_K64F) +#define P1_1 (1 << 16) +#define P1_2 (1 << 17) +#define PORT_1 PortC + +#define P2_1 (1 << 2) +#define P2_2 (1 << 3) +#define PORT_2 PortC + +#elif defined(TARGET_LPC11U24) +#define P1_1 (1 << 9) // p0.9 +#define P1_2 (1 << 8) // p0.8 +#define PORT_1 Port0 + +#define P2_1 (1 << 24) // p1.24 +#define P2_2 (1 << 25) // p1.25 +#define PORT_2 Port1 + +#elif defined(TARGET_LPC1768) || defined(TARGET_LPC2368) +#define P1_1 (1 << 9) // p0.9 -> p5 +#define P1_2 (1 << 8) // p0.8 -> p6 +#define PORT_1 Port0 + +#define P2_1 (1 << 1) // p2.1 -> p25 +#define P2_2 (1 << 0) // p2.0 -> p26 +#define PORT_2 Port2 + +#elif defined(TARGET_LPC4088) +#define P1_1 (1 << 7) // p0.7 -> p13 +#define P1_2 (1 << 6) // p0.6 -> p14 +#define PORT_1 Port0 + +#define P2_1 (1 << 2) // p1.2 -> p30 +#define P2_2 (1 << 3) // p1.3 -> p29 +#define PORT_2 Port1 + +#elif defined(TARGET_LPC1114) +#define P1_1 (1 << 9) // p0.9 +#define P1_2 (1 << 8) // p0.8 +#define PORT_1 Port0 + +#define P2_1 (1 << 1) // p1.1 +#define P2_2 (1 << 0) // p1.0 +#define PORT_2 Port1 + +#elif defined(TARGET_KL25Z) +#define P1_1 (1 << 4) // PTA4 +#define P1_2 (1 << 5) // PTA5 +#define PORT_1 PortA + +#define P2_1 (1 << 5) // PTC5 +#define P2_2 (1 << 6) // PTC6 +#define PORT_2 PortC + +#elif defined(TARGET_nRF51822) +#define P1_1 (1 << 4) // p4 +#define P1_2 (1 << 5) // p5 +#define PORT_1 Port0 + +#define P2_1 (1 << 24) // p24 +#define P2_2 (1 << 25) // p25 +#define PORT_2 Port0 + +#elif defined(TARGET_MAXWSNENV) +#define P1_1 (1 << 0) +#define P1_2 (1 << 1) +#define PORT_1 Port0 + +#define P2_1 (1 << 0) +#define P2_2 (1 << 1) +#define PORT_2 Port1 + +#elif defined(TARGET_MAX32600MBED) +#define P1_1 (1 << 0) // P1_0 +#define P1_2 (1 << 1) // P1_1 +#define PORT_1 Port1 + +#define P2_1 (1 << 7) // P4_7 +#define P2_2 (1 << 6) // P4_6 +#define PORT_2 Port4 + +#elif defined(TARGET_NUCLEO_F030R8) || \ + defined(TARGET_NUCLEO_F070RB) || \ + defined(TARGET_NUCLEO_F072RB) || \ + defined(TARGET_NUCLEO_F091RC) || \ + defined(TARGET_NUCLEO_F103RB) || \ + defined(TARGET_NUCLEO_F302R8) || \ + defined(TARGET_NUCLEO_F303RE) || \ + defined(TARGET_NUCLEO_F334R8) || \ + defined(TARGET_NUCLEO_F401RE) || \ + defined(TARGET_NUCLEO_F411RE) || \ + defined(TARGET_NUCLEO_L053R8) || \ + defined(TARGET_NUCLEO_L073RZ) || \ + defined(TARGET_NUCLEO_L152RE) +#define P1_1 (1 << 6) // PC_6 +#define P1_2 (1 << 5) // PC_5 +#define PORT_1 PortC + +#define P2_1 (1 << 8) // PB_8 +#define P2_2 (1 << 9) // PB_9 +#define PORT_2 PortB +#endif + +#define MASK_1 (P1_1 | P1_2) +#define MASK_2 (P2_1 | P2_2) + +PortInOut port1(PORT_1, MASK_1); +PortInOut port2(PORT_2, MASK_2); + +int main() { + MBED_HOSTTEST_TIMEOUT(20); + MBED_HOSTTEST_SELECT(default_auto); + MBED_HOSTTEST_DESCRIPTION(PortInOut); + MBED_HOSTTEST_START("MBED_A11"); + + bool check = true; + + port1.output(); + port2.input(); + + port1 = MASK_1; wait(0.1); + if (port2 != MASK_2) check = false; + + port1 = 0; wait(0.1); + if (port2 != 0) check = false; + + port1.input(); + port2.output(); + + port2 = MASK_2; wait(0.1); + if (port1 != MASK_1) check = false; + + port2 = 0; wait(0.1); + if (port1 != 0) check = false; + + MBED_HOSTTEST_RESULT(check); +} |