Jingxi Zhang
/
I2CSlaveTest
mbed OS-5 I2C Slave using Nucleo-F401RE board.
Diff: main.cpp
- Revision:
- 0:96840f1cc413
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Aug 22 01:30:24 2016 +0000 @@ -0,0 +1,27 @@ +#include "mbed.h" + +I2CSlave slave(PB_9, PB_8); + +int main() { + char buf[10]; + char msg[] = "Slave!"; + + slave.address(0x0A); + while (1) { + int i = slave.receive(); + switch (i) { + case I2CSlave::ReadAddressed: + slave.write(msg, strlen(msg) + 1); // Includes null char + break; + case I2CSlave::WriteGeneral: + slave.read(buf, 10); + //printf("Read G: %s\n", buf); + break; + case I2CSlave::WriteAddressed: + slave.read(buf, 10); + //printf("Read A: %s\n", buf); + break; + } + for(int i = 0; i < 10; i++) buf[i] = 0; // Clear buffer + } +} \ No newline at end of file