summaryrefslogtreecommitdiff
path: root/tmk_core/tool/mbed/mbed-sdk/libraries/tests/mbed/i2c_slave/main.cpp
diff options
context:
space:
mode:
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.cpp36
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;
+ }
+ }
+ }