Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
features/unsupported/tests/mbed/i2c_slave/main.cpp
- Committer:
- calmantara186
- Date:
- 2018-02-22
- Revision:
- 1:2b6e8130a0ac
- Parent:
- 0:f269e3021894
File content as of revision 1:2b6e8130a0ac:
#include "mbed.h" #include "test_env.h" #if !DEVICE_I2CSLAVE #error [NOT_SUPPORTED] I2C Slave is not supported #endif #define SIZE (10) #define ADDR (0x90) #if defined(TARGET_KL25Z) I2CSlave slave(PTE0, PTE1); #elif defined(TARGET_LPC4088) I2CSlave slave(p9, p10); #elif defined(TARGET_SAMR21G18A) I2CSlave slave(PA16, PA17); #elif defined(TARGET_SAMD21J18A) || defined(TARGET_SAMD21G18A) || defined(TARGET_SAML21J18A) I2CSlave slave(PA08, PA09); #elif defined(TARGET_NUCLEO_F411RE) || defined(TARGET_NUCLEO_F446RE) //I2C master(PB_9, PB_8); // I2C_1 (Arduino: D14/D15) I2CSlave slave(PB_3, PB_10); // I2C_2 (Arduino: D3/D6) #elif defined(TARGET_NUCLEO_F429ZI) I2CSlave slave(PB_11, PB_10); // I2C_2 #elif defined(TARGET_FF_ARDUINO) I2CSlave slave(I2C_SDA, I2C_SCL); #elif defined(TARGET_SAMG55J19) I2CSlave slave(PA10, PA09); #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; } } }