chen ada
/
IR_remote_demo_code
使用红外接收库的一个demo code
Fork of IR_remote by
main.cpp@4:326b8df3add2, 2018-06-21 (annotated)
- Committer:
- adaphoto
- Date:
- Thu Jun 21 01:20:35 2018 +0000
- Revision:
- 4:326b8df3add2
- Parent:
- 3:29915623fbb0
?????????demo code
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
havebug | 0:42764550a2cb | 1 | #include "mbed.h" |
havebug | 0:42764550a2cb | 2 | #include "ReceiverIR.h" |
havebug | 2:35f80e65a141 | 3 | |
havebug | 2:35f80e65a141 | 4 | DigitalOut my_led(LED1); |
havebug | 2:35f80e65a141 | 5 | |
adaphoto | 4:326b8df3add2 | 6 | //PwmOut my_pwm1(PB_3); |
adaphoto | 4:326b8df3add2 | 7 | //PwmOut my_pwm2(PB_5); |
havebug | 2:35f80e65a141 | 8 | |
havebug | 2:35f80e65a141 | 9 | |
adaphoto | 4:326b8df3add2 | 10 | ReceiverIR ir_rx(PA_12); |
havebug | 0:42764550a2cb | 11 | |
havebug | 0:42764550a2cb | 12 | Serial pc(SERIAL_TX, SERIAL_RX); |
havebug | 0:42764550a2cb | 13 | DigitalOut myled(LED1); |
havebug | 0:42764550a2cb | 14 | |
havebug | 0:42764550a2cb | 15 | RemoteIR::Format format; |
havebug | 0:42764550a2cb | 16 | uint8_t buf[32]; |
havebug | 3:29915623fbb0 | 17 | int bitcount, decoded; |
havebug | 3:29915623fbb0 | 18 | double DC=0.5; |
havebug | 0:42764550a2cb | 19 | |
havebug | 0:42764550a2cb | 20 | int main() |
havebug | 0:42764550a2cb | 21 | { |
adaphoto | 4:326b8df3add2 | 22 | //my_pwm1.period_us(200); |
adaphoto | 4:326b8df3add2 | 23 | //my_pwm1.write(DC); |
havebug | 2:35f80e65a141 | 24 | |
adaphoto | 4:326b8df3add2 | 25 | //my_pwm2.period_us(200); |
adaphoto | 4:326b8df3add2 | 26 | //my_pwm2.write(DC); |
havebug | 3:29915623fbb0 | 27 | |
havebug | 0:42764550a2cb | 28 | |
havebug | 0:42764550a2cb | 29 | pc.printf("Hello World !\r\n"); |
havebug | 0:42764550a2cb | 30 | while(1) { |
havebug | 0:42764550a2cb | 31 | |
havebug | 0:42764550a2cb | 32 | if (ir_rx.getState() == ReceiverIR::Received) { |
havebug | 0:42764550a2cb | 33 | bitcount = ir_rx.getData(&format, buf, sizeof(buf) * 8); |
havebug | 3:29915623fbb0 | 34 | myled=1; |
havebug | 3:29915623fbb0 | 35 | if (bitcount>0) { |
havebug | 3:29915623fbb0 | 36 | decoded=buf[3]; |
adaphoto | 4:326b8df3add2 | 37 | pc.printf("\r\nDecoded: %x ", buf[0]); |
adaphoto | 4:326b8df3add2 | 38 | pc.printf("\r\nDecoded: %x ", buf[1]); |
adaphoto | 4:326b8df3add2 | 39 | pc.printf("\r\nDecoded: %x ", buf[2]); |
adaphoto | 4:326b8df3add2 | 40 | pc.printf("\r\nDecoded: %x ", buf[3]); |
havebug | 3:29915623fbb0 | 41 | } |
havebug | 0:42764550a2cb | 42 | |
havebug | 3:29915623fbb0 | 43 | pc.printf("."); |
havebug | 0:42764550a2cb | 44 | myled = !myled; |
havebug | 2:35f80e65a141 | 45 | |
adaphoto | 4:326b8df3add2 | 46 | //if (decoded==0xE5){ |
adaphoto | 4:326b8df3add2 | 47 | // DC = DC+ 0.01; |
adaphoto | 4:326b8df3add2 | 48 | // if (DC>1) DC=1; |
adaphoto | 4:326b8df3add2 | 49 | //} |
adaphoto | 4:326b8df3add2 | 50 | //if (decoded==0xD4){ |
adaphoto | 4:326b8df3add2 | 51 | // DC = DC- 0.01; |
adaphoto | 4:326b8df3add2 | 52 | // if (DC<0) DC=0; |
adaphoto | 4:326b8df3add2 | 53 | //} |
adaphoto | 4:326b8df3add2 | 54 | //if (decoded==0xC3){ |
adaphoto | 4:326b8df3add2 | 55 | // DC = 0.5; |
adaphoto | 4:326b8df3add2 | 56 | //} |
havebug | 2:35f80e65a141 | 57 | |
adaphoto | 4:326b8df3add2 | 58 | // my_pwm1.write(DC); |
adaphoto | 4:326b8df3add2 | 59 | // my_pwm2.write(DC); |
havebug | 2:35f80e65a141 | 60 | |
havebug | 0:42764550a2cb | 61 | |
havebug | 0:42764550a2cb | 62 | /* DEBUG |
havebug | 0:42764550a2cb | 63 | for (int i = 0; i < bitcount; i++) { |
havebug | 0:42764550a2cb | 64 | pc.printf("%02X", buf[i]); |
havebug | 0:42764550a2cb | 65 | } |
havebug | 0:42764550a2cb | 66 | */ |
havebug | 0:42764550a2cb | 67 | |
havebug | 3:29915623fbb0 | 68 | } else myled=0; |
havebug | 3:29915623fbb0 | 69 | |
havebug | 0:42764550a2cb | 70 | } |
havebug | 0:42764550a2cb | 71 | } |