Eurobot 2013 IR testbench

Dependencies:   mbed-rtos mbed

Committer:
xiaxia686
Date:
Wed Nov 14 18:44:03 2012 +0000
Revision:
1:818904abef3d
Parent:
0:5ebe36076172
Working PWM;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
xiaxia686 1:818904abef3d 1 #include "mbed.h"
xiaxia686 1:818904abef3d 2 #include "PwmIn.h"
xiaxia686 1:818904abef3d 3 #include "globals.h"
xiaxia686 1:818904abef3d 4 #include "rtos.h"
xiaxia686 1:818904abef3d 5
xiaxia686 1:818904abef3d 6 #define PWM_INVERT
xiaxia686 1:818904abef3d 7
xiaxia686 1:818904abef3d 8 DigitalOut led1(LED1);
xiaxia686 1:818904abef3d 9 DigitalOut led2(LED2);
xiaxia686 1:818904abef3d 10 Serial pc(USBTX, USBRX); // tx, rx
xiaxia686 1:818904abef3d 11
xiaxia686 1:818904abef3d 12 PwmIn My_PWM(p30);
xiaxia686 1:818904abef3d 13 float my_dutycycle;
xiaxia686 1:818904abef3d 14 Semaphore serial_sema(1);
xiaxia686 1:818904abef3d 15
xiaxia686 1:818904abef3d 16 void PWM_Callback(float dutycycle) {
xiaxia686 1:818904abef3d 17 led1 = !led1;
xiaxia686 1:818904abef3d 18 my_dutycycle = dutycycle;
xiaxia686 1:818904abef3d 19 serial_sema.release();
xiaxia686 1:818904abef3d 20
xiaxia686 1:818904abef3d 21 }
xiaxia686 1:818904abef3d 22
xiaxia686 1:818904abef3d 23
xiaxia686 1:818904abef3d 24 void serial_thread(void const *argument) {
xiaxia686 1:818904abef3d 25 while (true) {
xiaxia686 1:818904abef3d 26 serial_sema.wait();
xiaxia686 1:818904abef3d 27 printf("dutycycle: %0.4f \n\r", my_dutycycle);
xiaxia686 1:818904abef3d 28 }
xiaxia686 1:818904abef3d 29 }
xiaxia686 1:818904abef3d 30
xiaxia686 1:818904abef3d 31 int main() {
xiaxia686 1:818904abef3d 32 pc.baud(19200);
xiaxia686 1:818904abef3d 33 pc.printf("Hello from mbed\n");
xiaxia686 1:818904abef3d 34
xiaxia686 1:818904abef3d 35 My_PWM.callbackfunc = PWM_Callback;
xiaxia686 1:818904abef3d 36
xiaxia686 1:818904abef3d 37 Thread thread(serial_thread);
xiaxia686 1:818904abef3d 38
xiaxia686 1:818904abef3d 39 while (true) {
xiaxia686 1:818904abef3d 40 Thread::wait(osWaitForever);
xiaxia686 1:818904abef3d 41 }
xiaxia686 1:818904abef3d 42 }