Tedd OKANO / Mbed 2 deprecated SC18IS606_Hello

Dependencies:   mbed SC18IS606

main.cpp

Committer:
okano
Date:
2021-07-13
Revision:
0:45ec5ead6731
Child:
1:f0126d924ff8

File content as of revision 0:45ec5ead6731:

#include "mbed.h"

I2C         i2c( p28, p27 );
InterruptIn int_signal( p21 );


#define     TARG_ADDRESS            0x50
#define     FuncID_WRITE_BUFFER     0x00
#define     FuncID_ClearIntrrupt    0xF1

#define     SS_BITMAP       0x01

volatile int    int_flag    = false;

void int_handler()
{
    int_flag    = true;
}

int main()
{
    char    s[ 256 + 1 ];
    char    int_clear   = FuncID_ClearIntrrupt;

    int_signal.mode( PullUp );
    int_signal.fall( &int_handler );
    i2c.frequency( 400 * 1000 );

    s[ 0 ]  = FuncID_WRITE_BUFFER | SS_BITMAP;

    for ( int i = 0; i < 256; i++ ) {
        *(s + i + 1)    = i;
    }


    while(1) {
        i2c.write( TARG_ADDRESS, s, sizeof( s ) );

        while ( !int_flag )
            ;
            
        i2c.write( TARG_ADDRESS, &int_clear, sizeof( int_clear ) );
        int_flag    = false;

        wait_ms( 2 );
    }
}