I2C-bus switch with reset

Dependencies:   mbed

PCA9546A.cpp

Committer:
wataaki
Date:
2015-02-04
Revision:
0:afc432dbba61

File content as of revision 0:afc432dbba61:

#include "mbed.h"
 
I2C i2c(p28,p27);        // sda, scl
Serial pc(USBTX, USBRX); // tx, rx
char cmd[32];
int i, j, k;
int sw;
 
int main ()
{
    i2c.frequency(100000);
    pc.printf("PCA9546A Sample Program\r\n");
    
  // PCA9546A
    while(1)
    {
        pc.printf("選択チャネルは? 0 0 0 0 CH3 CH2 CH1 CH0 16進数で入力 \r\n");
        pc.scanf("%x", &sw);
        pc.printf("CH3=%d, CH2=%d, CH1=%d, CH0=%d\r\n\r\n", (sw & 0x8)>>3, (sw & 0x4)>>2, (sw & 0x2)>>1, (sw & 0x1));
        cmd[0] = sw;                 // PCA9546 Cont Reg Ch1 enabled
        i2c.write(0xe8, cmd, 1); // Send command string
    }
}