Demonstrates a race condition
Diff: main.cpp
- Revision:
- 5:5dcfbaa2e549
- Parent:
- 4:e1c35030b91a
diff -r e1c35030b91a -r 5dcfbaa2e549 main.cpp --- a/main.cpp Wed Sep 18 10:28:12 2019 +0000 +++ b/main.cpp Wed Sep 18 10:31:06 2019 +0000 @@ -5,7 +5,7 @@ #define PRESSED 1 #ifdef TARGET_NUCLEO_F429ZI -#define ONBOARD +//#define ONBOARD #endif #ifdef ONBOARD @@ -29,7 +29,6 @@ //RED MEANS THE COUNT UP FUNCTION IS IN ITS CRITICAL SECTION red_led = 1; for (unsigned int n=0; n<N; n++) { - CriticalSectionLock::enable(); counter++; counter++; counter++; @@ -40,7 +39,6 @@ counter++; counter++; counter++; - CriticalSectionLock::disable(); } red_led = 0; @@ -56,7 +54,6 @@ //YELLOW MEANS THE COUNT DOWN FUNCTION IS IN ITS CRITICAL SECTION yellow_led = 1; for (unsigned int n=0; n<N; n++) { - CriticalSectionLock::enable(); counter--; counter--; counter--; @@ -67,7 +64,6 @@ counter--; counter--; counter--; - CriticalSectionLock::disable(); } yellow_led = 0;