Marco Zecchini
/
Example_RTOS
Rtos API example
Embed:
(wiki syntax)
Show/hide line numbers
pwm.cpp
00001 #include "mbed.h" 00002 00003 #if defined(TARGET_K64F) || defined(TARGET_K66F) 00004 #define TEST_LED D9 00005 00006 #elif defined(TARGET_NUCLEO_F030R8) || \ 00007 defined(TARGET_NUCLEO_F070RB) || \ 00008 defined(TARGET_NUCLEO_F072RB) || \ 00009 defined(TARGET_NUCLEO_F091RC) || \ 00010 defined(TARGET_NUCLEO_F103RB) || \ 00011 defined(TARGET_NUCLEO_F302R8) || \ 00012 defined(TARGET_NUCLEO_F303RE) || \ 00013 defined(TARGET_NUCLEO_F334R8) || \ 00014 defined(TARGET_NUCLEO_F401RE) || \ 00015 defined(TARGET_NUCLEO_F410RB) || \ 00016 defined(TARGET_NUCLEO_F411RE) || \ 00017 defined(TARGET_NUCLEO_L053R8) || \ 00018 defined(TARGET_NUCLEO_L073RZ) || \ 00019 defined(TARGET_NUCLEO_L152RE) 00020 #define TEST_LED D3 00021 00022 #elif defined (TARGET_K22F) || \ 00023 defined(TARGET_KL27Z) || \ 00024 defined (TARGET_LPC824) 00025 #define TEST_LED LED_GREEN 00026 00027 #elif defined (TARGET_MAXWSNENV) 00028 #define TEST_LED LED_GREEN 00029 00030 #elif defined (TARGET_DISCO_F407VG) 00031 #define TEST_LED LED1 00032 00033 #elif defined(TARGET_SAMR21G18A) || defined(TARGET_SAMD21J18A) || defined(TARGET_SAMD21G18A) || defined(TARGET_SAML21J18A) 00034 #define TEST_LED LED1 00035 00036 #elif defined(TARGET_SAMG55J19) 00037 #define TEST_LED PA01 /*LED in board doesnt have PWM functionality*/ 00038 00039 #else 00040 #error [NOT_SUPPORTED] This test is not supported on this target 00041 #endif 00042 00043 PwmOut led(TEST_LED); 00044 00045 int main() { 00046 float crt = 1.0, delta = 0.05; 00047 00048 led.period_ms(2); // 500Hz 00049 while (true) { 00050 led.write(crt); 00051 wait_ms(50); 00052 crt = crt + delta; 00053 if (crt > 1.0) { 00054 crt = 1.0; 00055 delta = -delta; 00056 } 00057 else if (crt < 0) { 00058 crt = 0; 00059 delta = -delta; 00060 } 00061 } 00062 }
Generated on Sun Jul 17 2022 08:25:29 by 1.7.2