diff options
Diffstat (limited to 'tmk_core/tool/mbed/mbed-sdk/libraries/tests/mbed/i2c_slave/main.cpp')
-rw-r--r-- | tmk_core/tool/mbed/mbed-sdk/libraries/tests/mbed/i2c_slave/main.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tmk_core/tool/mbed/mbed-sdk/libraries/tests/mbed/i2c_slave/main.cpp b/tmk_core/tool/mbed/mbed-sdk/libraries/tests/mbed/i2c_slave/main.cpp new file mode 100644 index 0000000000..1b24b3cd4b --- /dev/null +++ b/tmk_core/tool/mbed/mbed-sdk/libraries/tests/mbed/i2c_slave/main.cpp @@ -0,0 +1,36 @@ +#include "mbed.h" +#include "test_env.h" + +#define SIZE (10) +#define ADDR (0x90) + +#if defined(TARGET_KL25Z) +I2CSlave slave(PTE0, PTE1); +#elif defined(TARGET_LPC4088) +I2CSlave slave(p9, p10); +#else +I2CSlave slave(p28, p27); +#endif + + int main() { + char buf[SIZE]; + + slave.address(ADDR); + + while (1) { + int i = slave.receive(); + switch (i) { + case I2CSlave::ReadAddressed: + slave.write(buf, SIZE); + for(int i = 0; i < SIZE; i++){ + } + break; + case I2CSlave::WriteAddressed: + slave.read(buf, SIZE); + for(int i = 0; i < SIZE; i++){ + buf[i]++; + } + break; + } + } + } |