beacon_test

Dependencies:   mbed-rtos mbed

Committer:
gkumar
Date:
Mon May 18 07:06:12 2015 +0000
Revision:
0:01033178af60
beacon_test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gkumar 0:01033178af60 1 #include "mbed.h"
gkumar 0:01033178af60 2 #include "rtos.h"
gkumar 0:01033178af60 3 Serial pc(USBTX, USBRX);
gkumar 0:01033178af60 4
gkumar 0:01033178af60 5 int beacon_sc = 3;
gkumar 0:01033178af60 6 uint16_t schedcount=1;
gkumar 0:01033178af60 7 int beac_flag=0;
gkumar 0:01033178af60 8 InterruptIn sw1(PTC3);
gkumar 0:01033178af60 9 Timeout bea_timeout ;
gkumar 0:01033178af60 10 void T_SC(void const *args)
gkumar 0:01033178af60 11 {
gkumar 0:01033178af60 12 if(beac_flag==1){
gkumar 0:01033178af60 13 printf("\n\rThe value of i in scheduler is %d\n",schedcount); }
gkumar 0:01033178af60 14 schedcount++;
gkumar 0:01033178af60 15
gkumar 0:01033178af60 16 }
gkumar 0:01033178af60 17
gkumar 0:01033178af60 18 void FUNC_BEA_TIMEOUT()
gkumar 0:01033178af60 19 {
gkumar 0:01033178af60 20
gkumar 0:01033178af60 21 beac_flag = 0;
gkumar 0:01033178af60 22
gkumar 0:01033178af60 23 }
gkumar 0:01033178af60 24
gkumar 0:01033178af60 25 void sw(){
gkumar 0:01033178af60 26 beac_flag = 1;
gkumar 0:01033178af60 27 bea_timeout.attach(&FUNC_BEA_TIMEOUT,35.0 );}
gkumar 0:01033178af60 28
gkumar 0:01033178af60 29 void sw2(){
gkumar 0:01033178af60 30
gkumar 0:01033178af60 31 beac_flag = 0;
gkumar 0:01033178af60 32 }
gkumar 0:01033178af60 33
gkumar 0:01033178af60 34
gkumar 0:01033178af60 35 int main(void) {
gkumar 0:01033178af60 36 RtosTimer t_sc_timer(T_SC,osTimerPeriodic);
gkumar 0:01033178af60 37 t_sc_timer.start(1000);
gkumar 0:01033178af60 38 sw1.rise(&sw);
gkumar 0:01033178af60 39 sw1.fall(&sw2);
gkumar 0:01033178af60 40 while(1) //required to prevent main from terminating
gkumar 0:01033178af60 41 {
gkumar 0:01033178af60 42 Thread::wait(10000); // this wait doesn't matter main is a thread of lowest priority
gkumar 0:01033178af60 43 }
gkumar 0:01033178af60 44 }