テスト
Dependencies: C12832 mbed-rtos mbed
Fork of app-board-Speaker by
Revision 3:b1115b34e95b, committed 2016-12-07
- Comitter:
- funa0825
- Date:
- Wed Dec 07 03:00:13 2016 +0000
- Parent:
- 2:cfd337edff08
- Commit message:
- ?;
Changed in this revision
diff -r cfd337edff08 -r b1115b34e95b C12832.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/C12832.lib Wed Dec 07 03:00:13 2016 +0000 @@ -0,0 +1,1 @@ +https://mbed.org/users/chris/code/C12832/#7de323fa46fe
diff -r cfd337edff08 -r b1115b34e95b main.cpp --- a/main.cpp Thu Oct 25 12:25:00 2012 +0000 +++ b/main.cpp Wed Dec 07 03:00:13 2016 +0000 @@ -1,17 +1,169 @@ + + +#define mC 261.626 +#define mD 293.665 +#define mE 329.628 +#define mF 349.228 +#define mG 391.995 +#define mA 440.000 +#define mB 493.883 +#define THRESH 80 +#include "C12832.h" #include "mbed.h" +#include "rtos.h" +C12832 lcd(p5, p7, p6, p8, p11); DigitalIn fire(p14); -PwmOut spkr(p26); +//DigitalIn up(p15); +//DigitalIn down(p12); +PwmOut sp1(p26); +InterruptIn myup(p15); +InterruptIn mydown(p12); +PwmOut led1(p23); +PwmOut led2(p24); +PwmOut led3(p25); +Semaphore three_slots(1); +Timer for_chat; -int main() +int i=0; +float mm[]={mC,mD,mE,mF,mG,mA,mB,mC*2,mD*2,mE*2,mF*2,mG*2,mA*2,mB*2,mC*4}; +void intRise(void) +{ + if(for_chat.read_ms()>THRESH); + { + i++; + sp1.period(1.0/mm[i]); + sp1.write(0.5f); + for_chat.reset(); + } +} + +void intFall(void) +{ + if(for_chat.read_ms()>THRESH); + { + i--; + sp1.period(1.0/mm[i]); + sp1.write(0.5f); + for_chat.reset(); + } +} + + +void r_thread(void const *argument) +{ + float r = 0; + while (true) + { + r=0; + while(r<=1) + { + three_slots.wait(); + led1 = r; + r += 0.01; + lcd.locate(0,16); + lcd.printf("R: %3.2f",r); + three_slots.release(); + Thread::wait(100); + + } + while(r>0) + { + three_slots.wait(); + led1 = r; + r -= 0.01; + lcd.locate(0,16); + lcd.printf("R: %3.2f",r); + three_slots.release(); + Thread::wait(100); + + } + } +} +void g_thread(void const *argument) { - while (1) { - for (float i=2000.0; i<10000.0; i+=100) { - spkr.period(1.0/i); - spkr=0.5; - wait(0.1); + float g = 0; + while (true) + { + g=0; + while(g<=1) + { + three_slots.wait(); + led2 = g; + g += 0.01; + lcd.locate(40,16); + lcd.printf("G: %3.2f",g); + three_slots.release(); + Thread::wait(200); + } + while(g>0) + { + three_slots.wait(); + led2 = g; + g -= 0.01; + lcd.locate(40,16); + lcd.printf("G: %3.2f",g); + three_slots.release(); + Thread::wait(200); + } + } +} +void b_thread(void const *argument) +{ + float b = 0; + while (true) + { + b=0; + while(b<=1) + { + three_slots.wait(); + led3 = b; + b += 0.01; + lcd.locate(80,16); + lcd.printf("B: %3.2f",b); + three_slots.release(); + Thread::wait(300); } - spkr=0.0; - while(!fire) {} + while(b>0) + { + three_slots.wait(); + led3 = b; + b -= 0.01; + lcd.locate(80,16); + lcd.printf("B: %3.2f",b); + three_slots.release(); + Thread::wait(300); + } + } +} +void count_thread(void const *argument) +{ + while (true) + { + three_slots.wait(); + lcd.locate(0,3); + lcd.printf("Counting : %d",i); + three_slots.release(); + Thread::wait(100); } -} \ No newline at end of file +} +int main() +{ + wait(0.01); + for_chat.start(); + myup.fall(&intRise); + mydown.fall(&intFall); + Thread thread1(r_thread,(void *)"Th 1"); + Thread thread2(g_thread,(void *)"Th 2"); + Thread thread3(b_thread,(void *)"Th 3"); + Thread thread4(count_thread,(void *)"Th 4"); + + lcd.cls(); + wait(0.01); + while(1) + { + //lcd.cls(); + + } +} + \ No newline at end of file
diff -r cfd337edff08 -r b1115b34e95b mbed-rtos.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-rtos.lib Wed Dec 07 03:00:13 2016 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/users/mbed_official/code/mbed-rtos/#58563e6cba1e
diff -r cfd337edff08 -r b1115b34e95b mbed.bld --- a/mbed.bld Thu Oct 25 12:25:00 2012 +0000 +++ b/mbed.bld Wed Dec 07 03:00:13 2016 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/mbed_official/code/mbed/builds/cd19af002ccc \ No newline at end of file +http://mbed.org/users/mbed_official/code/mbed/builds/d75b3fe1f5cb \ No newline at end of file