IR receiver for TG-LPC11U35-501

Dependencies:   AQM0802 IR mbed

Committer:
yasuyuki
Date:
Sun Jun 22 09:54:10 2014 +0000
Revision:
0:8ae7470a57ef
Child:
2:31c91b18bba9
first revision

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yasuyuki 0:8ae7470a57ef 1 //**********************
yasuyuki 0:8ae7470a57ef 2 // Infrared Rays receiver sample for mbed
yasuyuki 0:8ae7470a57ef 3 //
yasuyuki 0:8ae7470a57ef 4 // LPC1768 flash=512KB, ADC=12bits
yasuyuki 0:8ae7470a57ef 5 // LPC11U35 flash=64KB, ADC=10bits
yasuyuki 0:8ae7470a57ef 6 // Nucleo F401RE flash=512KB, ADC=12bits
yasuyuki 0:8ae7470a57ef 7 //
yasuyuki 0:8ae7470a57ef 8 // (C)Copyright 2014 All rights reserved by Y.Onodera
yasuyuki 0:8ae7470a57ef 9 // http://einstlab.web.fc2.com
yasuyuki 0:8ae7470a57ef 10 //**********************
yasuyuki 0:8ae7470a57ef 11 #include "mbed.h"
yasuyuki 0:8ae7470a57ef 12 #include "AQM0802.h"
yasuyuki 0:8ae7470a57ef 13 #include "IR.h"
yasuyuki 0:8ae7470a57ef 14
yasuyuki 0:8ae7470a57ef 15 //#pragma O0
yasuyuki 0:8ae7470a57ef 16 //#pragma O1
yasuyuki 0:8ae7470a57ef 17 //#pragma O2 // default
yasuyuki 0:8ae7470a57ef 18 //#pragma O3
yasuyuki 0:8ae7470a57ef 19 //#pragma Otime
yasuyuki 0:8ae7470a57ef 20 //#pragma Ospace
yasuyuki 0:8ae7470a57ef 21
yasuyuki 0:8ae7470a57ef 22
yasuyuki 0:8ae7470a57ef 23 #if defined(TARGET_LPC1768)
yasuyuki 0:8ae7470a57ef 24 DigitalOut led1(LED1);
yasuyuki 0:8ae7470a57ef 25 DigitalOut led2(LED2);
yasuyuki 0:8ae7470a57ef 26 I2C i2c(p28,p27);
yasuyuki 0:8ae7470a57ef 27 AnalogIn ain(p15);
yasuyuki 0:8ae7470a57ef 28 #endif
yasuyuki 0:8ae7470a57ef 29 // for TG-LPC11U35-501
yasuyuki 0:8ae7470a57ef 30 #if defined (TARGET_LPC11U35_501)
yasuyuki 0:8ae7470a57ef 31 DigitalOut led1(P0_20);
yasuyuki 0:8ae7470a57ef 32 DigitalOut led2(P0_21);
yasuyuki 0:8ae7470a57ef 33 I2C i2c(P0_5,P0_4);
yasuyuki 0:8ae7470a57ef 34 AnalogIn ain(P0_11);
yasuyuki 0:8ae7470a57ef 35 #endif
yasuyuki 0:8ae7470a57ef 36 // for Nucleo
yasuyuki 0:8ae7470a57ef 37 #if defined (TARGET_NUCLEO_F401RE)
yasuyuki 0:8ae7470a57ef 38 DigitalOut led1(D13);
yasuyuki 0:8ae7470a57ef 39 I2C i2c(D14,D15);
yasuyuki 0:8ae7470a57ef 40 AnalogIn ain(PA_0);
yasuyuki 0:8ae7470a57ef 41 #endif
yasuyuki 0:8ae7470a57ef 42
yasuyuki 0:8ae7470a57ef 43 AQM0802 lcd(i2c);
yasuyuki 0:8ae7470a57ef 44 IR ir(P0_12);
yasuyuki 0:8ae7470a57ef 45 InterruptIn button(P0_12);
yasuyuki 0:8ae7470a57ef 46
yasuyuki 0:8ae7470a57ef 47 void flip()
yasuyuki 0:8ae7470a57ef 48 {
yasuyuki 0:8ae7470a57ef 49 led1=!led1;
yasuyuki 0:8ae7470a57ef 50 button.disable_irq();
yasuyuki 0:8ae7470a57ef 51 ir.GetIR();
yasuyuki 0:8ae7470a57ef 52 button.enable_irq();
yasuyuki 0:8ae7470a57ef 53
yasuyuki 0:8ae7470a57ef 54 // To do something, code here
yasuyuki 0:8ae7470a57ef 55
yasuyuki 0:8ae7470a57ef 56 }
yasuyuki 0:8ae7470a57ef 57
yasuyuki 0:8ae7470a57ef 58 int main() {
yasuyuki 0:8ae7470a57ef 59
yasuyuki 0:8ae7470a57ef 60 char msg[10];
yasuyuki 0:8ae7470a57ef 61 char i;
yasuyuki 0:8ae7470a57ef 62
yasuyuki 0:8ae7470a57ef 63 button.fall(&flip);
yasuyuki 0:8ae7470a57ef 64 button.mode(PullUp);
yasuyuki 0:8ae7470a57ef 65
yasuyuki 0:8ae7470a57ef 66 sprintf(msg, "%d", SystemCoreClock );
yasuyuki 0:8ae7470a57ef 67 lcd.locate(0,0);
yasuyuki 0:8ae7470a57ef 68 lcd.print(msg);
yasuyuki 0:8ae7470a57ef 69 wait(1);
yasuyuki 0:8ae7470a57ef 70
yasuyuki 0:8ae7470a57ef 71 while(1) {
yasuyuki 0:8ae7470a57ef 72
yasuyuki 0:8ae7470a57ef 73 lcd.locate(0,0);
yasuyuki 0:8ae7470a57ef 74 sprintf(msg,"%02X",ir.bits); // bits
yasuyuki 0:8ae7470a57ef 75 lcd.print(msg);
yasuyuki 0:8ae7470a57ef 76 sprintf(msg,"%02X",ir.mode); // 1:NEC, 2:STD
yasuyuki 0:8ae7470a57ef 77 lcd.print(msg);
yasuyuki 0:8ae7470a57ef 78
yasuyuki 0:8ae7470a57ef 79 for(i=0;i<2;i++){
yasuyuki 0:8ae7470a57ef 80 sprintf(msg,"%02X",ir.buf[i]); // data
yasuyuki 0:8ae7470a57ef 81 lcd.print(msg);
yasuyuki 0:8ae7470a57ef 82 }
yasuyuki 0:8ae7470a57ef 83
yasuyuki 0:8ae7470a57ef 84 lcd.locate(0,1);
yasuyuki 0:8ae7470a57ef 85 for(i=2;i<6;i++){
yasuyuki 0:8ae7470a57ef 86 sprintf(msg,"%02X",ir.buf[i]); // data
yasuyuki 0:8ae7470a57ef 87 lcd.print(msg);
yasuyuki 0:8ae7470a57ef 88 }
yasuyuki 0:8ae7470a57ef 89 wait(1);
yasuyuki 0:8ae7470a57ef 90 }
yasuyuki 0:8ae7470a57ef 91
yasuyuki 0:8ae7470a57ef 92 }