dhgdh
Dependencies: MAX44000 PWM_Tone_Library nexpaq_mdk
Fork of LED_Demo by
main.cpp
00001 #include "test_env.h" 00002 00003 #if !DEVICE_ANALOGIN 00004 #error [NOT_SUPPORTED] AnalogIn not supported 00005 #endif 00006 00007 #if !DEVICE_ANALOGOUT 00008 #error [NOT_SUPPORTED] AnalogOut not supported 00009 #endif 00010 00011 #if defined(TARGET_K64F) || defined(TARGET_K66F) || defined (TARGET_K22F) 00012 AnalogIn in(A0); 00013 AnalogOut out(DAC0_OUT); 00014 00015 #elif defined(TARGET_KL25Z) 00016 AnalogIn in(PTC2); 00017 AnalogOut out(PTE30); 00018 00019 #elif defined(TARGET_KL05Z) 00020 AnalogIn in(PTB11); // D9 00021 AnalogOut out(PTB1); // D1 00022 00023 #elif defined(TARGET_KL46Z) 00024 AnalogIn in(PTB0); 00025 AnalogOut out(PTE30); 00026 00027 #elif defined(TARGET_LPC1549) 00028 AnalogIn in(A0); 00029 AnalogOut out(D12); //D12 is P0_12, the DAC output pin 00030 00031 // No DAC on these targets: 00032 //TARGET_NUCLEO_F030R8 00033 //TARGET_NUCLEO_F070RB 00034 //TARGET_NUCLEO_F103RB 00035 //TARGET_NUCLEO_F401RE 00036 //TARGET_NUCLEO_F411RE 00037 #elif defined(TARGET_NUCLEO_F072RB) || \ 00038 defined(TARGET_NUCLEO_F091RC) || \ 00039 defined(TARGET_NUCLEO_F302R8) || \ 00040 defined(TARGET_NUCLEO_F303RE) || \ 00041 defined(TARGET_NUCLEO_F334R8) || \ 00042 defined(TARGET_NUCLEO_F446RE) || \ 00043 defined(TARGET_NUCLEO_F446ZE) || \ 00044 defined(TARGET_NUCLEO_L053R8) || \ 00045 defined(TARGET_NUCLEO_L073RZ) || \ 00046 defined(TARGET_NUCLEO_L152RE) 00047 AnalogIn in(A0); 00048 AnalogOut out(A2); 00049 00050 #elif defined(TARGET_NUCLEO_F746ZG) 00051 AnalogIn in(A0); 00052 AnalogOut out(PA_4); 00053 00054 #elif defined(TARGET_NUCLEO_F207ZG) 00055 AnalogIn in(A0); 00056 AnalogOut out(D13); 00057 00058 #elif defined(TARGET_ARCH_MAX) 00059 AnalogIn in(PA_0); 00060 AnalogOut out(PA_4); 00061 00062 #elif defined(TARGET_DISCO_F407VG) || \ 00063 defined(TARGET_DISCO_F469NI) 00064 AnalogIn in(PC_5); 00065 AnalogOut out(PA_4); 00066 00067 #elif defined(TARGET_NUCLEO_F303ZE) 00068 AnalogIn in(PC_5); 00069 AnalogOut out(PA_5); 00070 00071 #elif defined(TARGET_DISCO_F429ZI) 00072 AnalogIn in(PC_3); 00073 AnalogOut out(PA_5); 00074 00075 #elif defined(TARGET_MAX32600MBED) 00076 AnalogIn in(AIN_7P); 00077 AnalogOut out(AOUT_DO); 00078 00079 #elif defined(TARGET_SAMD21J18A) || defined(TARGET_SAML21J18A) 00080 AnalogIn in(PA04); 00081 AnalogOut out(PA02); 00082 00083 #elif defined(TARGET_SAMD21G18A) 00084 AnalogIn in(PB02); 00085 AnalogOut out(PA02); 00086 00087 #else 00088 AnalogIn in(p17); 00089 AnalogOut out(p18); 00090 00091 #endif 00092 00093 #define ERROR_TOLLERANCE 0.05 00094 00095 int main() { 00096 bool check = true; 00097 00098 for (float out_value=0.0; out_value<1.1; out_value+=0.1) { 00099 out.write(out_value); 00100 wait(0.1); 00101 00102 float in_value = in.read(); 00103 float diff = fabs(out_value - in_value); 00104 if (diff > ERROR_TOLLERANCE) { 00105 check = false; 00106 printf("ERROR (out:%.4f) - (in:%.4f) = (%.4f)"NL, out_value, in_value, diff); 00107 } else { 00108 printf("OK (out:%.4f) - (in:%.4f) = (%.4f)"NL, out_value, in_value, diff); 00109 } 00110 } 00111 00112 notify_completion(check); 00113 }
Generated on Tue Jul 12 2022 11:01:53 by
1.7.2
