I2C-bus switch with reset

Dependencies:   mbed

Committer:
wataaki
Date:
Wed Feb 04 06:04:27 2015 +0000
Revision:
0:afc432dbba61
Initial version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wataaki 0:afc432dbba61 1 #include "mbed.h"
wataaki 0:afc432dbba61 2
wataaki 0:afc432dbba61 3 I2C i2c(p28,p27); // sda, scl
wataaki 0:afc432dbba61 4 Serial pc(USBTX, USBRX); // tx, rx
wataaki 0:afc432dbba61 5 char cmd[32];
wataaki 0:afc432dbba61 6 int i, j, k;
wataaki 0:afc432dbba61 7 int sw;
wataaki 0:afc432dbba61 8
wataaki 0:afc432dbba61 9 int main ()
wataaki 0:afc432dbba61 10 {
wataaki 0:afc432dbba61 11 i2c.frequency(100000);
wataaki 0:afc432dbba61 12 pc.printf("PCA9546A Sample Program\r\n");
wataaki 0:afc432dbba61 13
wataaki 0:afc432dbba61 14 // PCA9546A
wataaki 0:afc432dbba61 15 while(1)
wataaki 0:afc432dbba61 16 {
wataaki 0:afc432dbba61 17 pc.printf("選択チャネルは? 0 0 0 0 CH3 CH2 CH1 CH0 16進数で入力 \r\n");
wataaki 0:afc432dbba61 18 pc.scanf("%x", &sw);
wataaki 0:afc432dbba61 19 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));
wataaki 0:afc432dbba61 20 cmd[0] = sw; // PCA9546 Cont Reg Ch1 enabled
wataaki 0:afc432dbba61 21 i2c.write(0xe8, cmd, 1); // Send command string
wataaki 0:afc432dbba61 22 }
wataaki 0:afc432dbba61 23 }