Alberto Petrucci
/
NUCLEO_I2C_SLAVE
NUCLEO I2C SLAVE
Diff: main.cpp
- Revision:
- 0:9c09b3288b2a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Mar 01 08:07:32 2017 +0000 @@ -0,0 +1,27 @@ +#include <mbed.h> + +I2CSlave slave(D14, D15); + +int main() { + slave.frequency(100000); //Set the clock frequency + char buf[1]; + char msg[1]; + msg[0] = 0x00; + int j = 1; + slave.address(0x07); + while (1) { + int i = slave.receive(); + switch (i) { + case I2CSlave::ReadAddressed: + slave.write(msg, strlen(msg) + 1); // Includes null char + break; + case I2CSlave::WriteAddressed: + slave.read(buf, 1); + printf("Read A: %02X\n", buf[0]); + break; + } + buf[0] = 0; // Clear buffer + msg[0] = j; + j++; + } +} \ No newline at end of file