Rtos API example
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "test_env.h" 00002 00003 #if defined(TARGET_LPC1114) 00004 DigitalInOut d1(dp1); 00005 DigitalInOut d2(dp2); 00006 00007 #elif defined(TARGET_LPC1549) 00008 // TARGET_FF_ARDUINO cannot be used, because D0 is used as USBRX (USB serial 00009 // port pin), D1 is used as USBTX 00010 DigitalInOut d1(D2); 00011 DigitalInOut d2(D7); 00012 00013 #elif defined(TARGET_STM) && defined(TARGET_FF_ARDUINO) 00014 // TARGET_FF_ARDUINO cannot be used 00015 // D0 is used as USBRX for some NUCLEO64 00016 // D7 is not used for some NUCLEO32 00017 DigitalInOut d1(D3); 00018 DigitalInOut d2(D2); 00019 00020 #elif defined(TARGET_DISCO_L053C8) || \ 00021 defined(TARGET_DISCO_F334C8) 00022 DigitalInOut d1(PA_15); 00023 DigitalInOut d2(PA_8); 00024 00025 #elif defined(TARGET_DISCO_L476VG) 00026 DigitalInOut d1(PA_1); 00027 DigitalInOut d2(PA_2); 00028 00029 #elif defined(TARGET_ARCH_MAX) || \ 00030 defined(TARGET_DISCO_F407VG) || \ 00031 defined(TARGET_DISCO_F429ZI)|| \ 00032 defined(TARGET_DISCO_F401VC) 00033 DigitalInOut d1(PC_12); 00034 DigitalInOut d2(PD_0); 00035 00036 #elif defined(TARGET_FF_ARDUINO) 00037 DigitalInOut d1(D0); 00038 DigitalInOut d2(D7); 00039 00040 #elif defined(TARGET_MAXWSNENV) 00041 DigitalInOut d1(TP3); 00042 DigitalInOut d2(TP4); 00043 00044 #elif defined(TARGET_MAX32600MBED) 00045 DigitalInOut d1(P1_0); 00046 DigitalInOut d2(P4_7); 00047 00048 #elif defined(TARGET_EFM32LG_STK3600) || defined(TARGET_EFM32GG_STK3700) || defined(TARGET_EFM32WG_STK3800) 00049 DigitalInOut d1(PD0); 00050 DigitalInOut d2(PC3); 00051 00052 #elif defined(TARGET_EFM32ZG_STK3200) 00053 DigitalInOut d1(PD7); 00054 DigitalInOut d2(PC1); 00055 00056 #elif defined(TARGET_EFM32HG_STK3400) 00057 DigitalInOut d1(PE10); 00058 DigitalInOut d2(PC1); 00059 00060 #elif defined(TARGET_EFM32PG_STK3401) 00061 DigitalInOut d1(PC6); 00062 DigitalInOut d2(PA3); 00063 00064 #elif defined(TARGET_SAMR21G18A) || defined(TARGET_SAMD21J18A) || defined(TARGET_SAMD21G18A) 00065 DigitalInOut d1(PB02); 00066 DigitalInOut d2(PB03); 00067 00068 #elif defined(TARGET_SAML21J18A) 00069 DigitalInOut d1(PA06); 00070 DigitalInOut d2(PA07); 00071 00072 #elif defined(TARGET_SAMG55J19) 00073 DigitalInOut d1(PA18); 00074 DigitalInOut d2(PA17); 00075 00076 #elif defined(TARGET_VK_RZ_A1H) 00077 DigitalInOut d1(P3_2); 00078 DigitalInOut d2(P5_6); 00079 00080 #else 00081 DigitalInOut d1(p5); 00082 DigitalInOut d2(p25); 00083 00084 #endif 00085 00086 00087 int main() 00088 { 00089 MBED_HOSTTEST_TIMEOUT(10); 00090 MBED_HOSTTEST_SELECT(default_auto); 00091 MBED_HOSTTEST_DESCRIPTION(DigitalInOut); 00092 MBED_HOSTTEST_START("MBED_A6"); 00093 00094 bool check = true; 00095 00096 d1.output(); 00097 d2.input(); 00098 d1 = 1; 00099 wait(0.1); 00100 if (d2 != 1) { 00101 printf("MBED: First check failed! d2 is %d\n", (int)d2); 00102 check = false; 00103 } 00104 d1 = 0; 00105 wait(0.1); 00106 if (d2 != 0) { 00107 printf("MBED: Second check failed! d2 is %d\n", (int)d2); 00108 check = false; 00109 } 00110 00111 d1.input(); 00112 d2.output(); 00113 d2 = 1; 00114 wait(0.1); 00115 if (d1 != 1) { 00116 printf("MBED: Third check failed! d1 is %d\n", (int)d1); 00117 check = false; 00118 } 00119 d2 = 0; 00120 wait(0.1); 00121 if (d1 != 0) { 00122 printf("MBED: Fourth check failed! d1 is %d\n", (int)d1); 00123 check = false; 00124 } 00125 00126 MBED_HOSTTEST_RESULT(check); 00127 }
Generated on Sun Jul 17 2022 08:25:26 by
1.7.2