
Interfaçage NeoPixel Ring 12, LPRO MECSE, Arnaud A.
Dependencies: lcd neoPixelRing12 view2 BSP_DISCO_F746NG view1 button
main.cpp
- Committer:
- Rhamao
- Date:
- 2020-05-28
- Revision:
- 6:91e478ee227e
- Parent:
- 5:e8f8a8037256
- Child:
- 7:1887c4e4b5de
File content as of revision 6:91e478ee227e:
#include "mbed.h" #include "Thread.h" #include "rtos_idle.h" #include "mbed_critical.h" #define USE_CRITICAL_SECTION_LOCK 1 // Set 0 to see race condition InterruptIn button(USER_BUTTON) ; DigitalOut myled(D8); DigitalOut led1(LED1); void bit0(){ myled = 1; wait_ns(190); myled = 0; wait_ns(740); } void bit1(){ myled = 1; wait_ns(600); myled = 0; wait_ns(600); } void rst(){ myled=0; wait_us(70); } void setLights(bool state, int nbOfLeds){ if(state){ for(int i=0; i<24*nbOfLeds; i++){ bit1(); } } else{ for(int i=0; i<24*nbOfLeds; i++){ bit0(); } } } void pressed() { led1=1; //rst(); //setLights(true, 1); //setLights(false, 5); //setLights(true, 1); for(int i=0; i<16; i++){ bit0(); } /*setLights(true, 1); setLights(false, 1); setLights(true, 1);*/ rst(); } void released() { led1=0; } int main() { int i=0; button.rise(&pressed); button.fall(&released); /*while(1){ myled = 1; wait_ns(350); myled = 0; }*/ //while(1){ //CriticalSectionLock lock; //bit0(); //CriticalSectionLock unlock; setLights(false, 1); rst(); setLights(false, 5); setLights(true, 2); setLights(true, 4); wait(100.0); //} }