test code

Dependencies:   mbed SC18IS606

Sample code for SC18IS606 class library

The SC18IS606 : I2C-bus to SPI bridge

Hello program operation sample on Mbed OS6 is available.

Import programSC18IS606_OS6_Hello

operation test on Mbed OS6

This is a "Hello" code for SC18IS606 class library. Showing how to send/receive data to/from SPI bus through this bridge chip. https://os.mbed.com/media/uploads/okano/screenshot_2021-07-14_13.13.55.png

How to wire the SC18IS606 (using evaluation board) https://os.mbed.com/media/uploads/okano/untitled.png

Revision:
7:df3611f05b77
Parent:
6:741cdb9c5726
--- a/main.cpp	Sun Jul 25 08:30:18 2021 +0000
+++ b/main.cpp	Wed Jul 28 01:48:47 2021 +0000
@@ -1,9 +1,9 @@
 /*
- *  SC18IS606 library
+ *  "Hello code" for SC18IS606 library
  *
  *  @author     Akifumi (Tedd) OKANO, NXP Semiconductors
- *  @version    0.1
- *  @date       13-July-2021
+ *  @version    0.2
+ *  @date       28-July-2021
  *
  *  SC18IS606 is an "I2C-bus to SPI bridge"
  *  http://www.nxp.com/ (product infomation page will be updated later)
@@ -14,7 +14,7 @@
 
 I2C         i2c( p28, p27 );
 InterruptIn int_line( p21 );
-SC18IS606   bridge( i2c );
+SC18IS606   bridge( i2c );      //  make a SC18IS606 instance as "bridge"
 
 #define I2C_FREQUENCY       (400 * 1000)    // Hz
 #define SLAVE_SELECT_NUM    0
@@ -38,13 +38,18 @@
     int_flag    = false;
 }
 
+void hardware_settings( void )
+{
+    int_line.mode( PullUp );
+    int_line.fall( &int_handler );
+    i2c.frequency( I2C_FREQUENCY );
+}
+
 int main()
 {
     printf( "SC18IS606 Hello\r\n" );
 
-    int_line.mode( PullUp );
-    int_line.fall( &int_handler );
-    i2c.frequency( I2C_FREQUENCY );
+    hardware_settings();
     bridge.install_wait_func( wait_transfer_done );
 
     char    snd_data[ DATA_LENGTH ];
@@ -57,11 +62,10 @@
     while(1) {
         bridge.transfer( SLAVE_SELECT_NUM, snd_data, sizeof( snd_data ) );
         bridge.read_buffer( rcv_data, sizeof( rcv_data ) );
-        //  data_check( rcv_data, DATA_LENGTH );
+        data_check( rcv_data, DATA_LENGTH );
     }
 }
 
-
 void data_check( char *data, int length )
 {
     for ( int i = 0; i < length; i++ ) {
@@ -69,5 +73,4 @@
             printf( "\r\n %02X :", i );
         printf( " %02X", data[ i ] );
     }
-
 }