赤外線リモコンの送信をパルス幅にて行います。 IRRcevPulseWidthライブラリと合わせて使ってください。 Transmit IR control by pulse width. Please use it together with the IRRcevPulseWidth library.

Dependents:   IRLED_SendReceveDemo

IRSendPulseWidth.cpp

Committer:
nameless129
Date:
2016-12-25
Revision:
0:beaea9bf9c5b

File content as of revision 0:beaea9bf9c5b:

#include "mbed.h"
#include "IRSendPulseWidth.h"

IRSendPulseWidth::IRSendPulseWidth(PinName output) : g_pwmoutLed(output)
{
    g_pwmoutLed.period_us(26);
    g_pwmoutLed.write(0);
}
    
void IRSendPulseWidth::sendSignal(uint16_t *sendDataArray,uint16_t sendDataN)
{
    int iCountHighLow = sendDataN;
    for( int iIndexHighLow = 0; iIndexHighLow < iCountHighLow; iIndexHighLow++ )
    {
        g_pwmoutLed.write( 0.5 * (1 - (iIndexHighLow % 2)) );    // iIndexHighLow : even number -> 0.5, uneven number -> 0
        wait_us( *(sendDataArray+iIndexHighLow) );
    }
    g_pwmoutLed.write(0);
}