mirror of https://github.com/ARMmbed/mbed-os.git
44 lines
848 B
C++
44 lines
848 B
C++
#include "mbed.h"
|
|
#include "test_env.h"
|
|
|
|
#define SIZE (10)
|
|
#define ADDR (0x90)
|
|
|
|
#if defined(TARGET_KL25Z)
|
|
I2C i2c(PTE0, PTE1);
|
|
#elif defined(TARGET_nRF51822)
|
|
I2C i2c(p22,p20);
|
|
#else
|
|
I2C i2c(p28, p27);
|
|
#endif
|
|
|
|
int main() {
|
|
bool success = true;
|
|
char buf[] = {3, 2, 1, 4, 5, 6, 7, 8, 9, 10};
|
|
char res[SIZE];
|
|
|
|
i2c.write(ADDR, buf, SIZE);
|
|
i2c.read(ADDR, res, SIZE);
|
|
|
|
// here should be buf[all]++
|
|
i2c.write(ADDR, res, SIZE);
|
|
i2c.read(ADDR, res, SIZE);
|
|
|
|
// here should be buf[all]+=2
|
|
i2c.write(ADDR, res, SIZE);
|
|
i2c.write(ADDR, res, SIZE);
|
|
|
|
// here should be buf[all]+=3
|
|
i2c.read(ADDR, res, SIZE);
|
|
i2c.read(ADDR, res, SIZE);
|
|
|
|
for(int i = 0; i < SIZE; i++) {
|
|
if (res[i] != (buf[i] + 3)) {
|
|
success = false;
|
|
break;
|
|
}
|
|
}
|
|
|
|
notify_completion(success);
|
|
}
|