Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
- Committer:
- gitakichi
- Date:
- 2020-02-11
- Revision:
- 2:eca0702650ca
- Parent:
- 1:4847c54eed20
- Child:
- 3:31c005437fa5
File content as of revision 2:eca0702650ca:
//reference from
//https://www.hiramine.com/physicalcomputing/mbed/irreceiver.html
#include "mbed.h"
DigitalIn g_dpinIrReceiver(D2);
Serial g_serial(USBTX, USBRX);
int main()
{
g_serial.baud(115200);
Timer timer;
timer.start();
//int iMicroSec_prev = timer.read_us();
int iState_prev = 1;
int time_start,time_end,time_data,delta_t;
int data_en = 0;
while(1) {
int iState = g_dpinIrReceiver;
//detect H signal
if( iState != iState_prev ) {
if(iState == 0) {
//timer.start();//reset
time_start = timer.read_us();//start(detect negedge
if(data_en == 1) {
//time_data = timer.read_us();
//delta_t = time_data - time_end;
delta_t = time_start - time_end;
data_en = 0;
if(delta_t > 1523) g_serial.printf("H");//625*2.5
else g_serial.printf("L");
}
} else if(iState == 1) { //end (detect posedge
time_end = timer.read_us();//over flow?
//compare and output
delta_t = time_end - time_start;
if(delta_t > 8430) g_serial.printf("flame,");//625*15
else {
data_en = 1;
//g_serial.printf("data,");
//g_serial.printf( "%d, ", time_start - time_end);
}
}
}
iState_prev = iState;
//iState_prev = iState;
//int iMicroSec = timer.read_us();
//g_serial.printf( "%d, ", iMicroSec - iMicroSec_prev );
//iMicroSec_prev = iMicroSec;
}
}