nkjnm
Dependencies: MAX44000 nexpaq_mdk
Fork of LED_Demo by
main.cpp
00001 #include "mbed.h" 00002 #include "test_env.h" 00003 00004 #if !DEVICE_I2C 00005 #error [NOT_SUPPORTED] I2C is not supported 00006 #endif 00007 00008 #define SIZE (10) 00009 #define ADDR (0x90) 00010 00011 #if defined(TARGET_KL25Z) 00012 I2C i2c(PTE0, PTE1); 00013 #elif defined(TARGET_nRF51822) 00014 I2C i2c(p22,p20); 00015 #elif defined(TARGET_FF_ARDUINO) || defined(TARGET_MAXWSNENV) 00016 I2C i2c(I2C_SDA, I2C_SCL); 00017 #elif defined(TARGET_EFM32LG_STK3600) || defined(TARGET_EFM32GG_STK3700) || defined(TARGET_EFM32WG_STK3800) 00018 #define TEST_SDA_PIN PD6 00019 #define TEST_SCL_PIN PD7 00020 I2C i2c(TEST_SDA_PIN, TEST_SCL_PIN); 00021 #elif defined(TARGET_EFM32ZG_STK3200) 00022 #define TEST_SDA_PIN PE12 00023 #define TEST_SCL_PIN PE13 00024 I2C i2c(TEST_SDA_PIN, TEST_SCL_PIN); 00025 #elif defined(TARGET_EFM32HG_STK3400) 00026 #define TEST_SDA_PIN PD6 00027 #define TEST_SCL_PIN PD7 00028 I2C i2c(TEST_SDA_PIN, TEST_SCL_PIN); 00029 #elif defined(TARGET_EFM32PG_STK3401) 00030 #define TEST_SDA_PIN PC10 00031 #define TEST_SCL_PIN PC11 00032 I2C i2c(TEST_SDA_PIN, TEST_SCL_PIN); 00033 #elif defined(TARGET_SAMR21G18A) 00034 #define TEST_SDA_PIN PA16 00035 #define TEST_SCL_PIN PA17 00036 I2C i2c(TEST_SDA_PIN, TEST_SCL_PIN); 00037 #elif defined(TARGET_SAMD21J18A) || defined(TARGET_SAMD21G18A) || defined(TARGET_SAML21J18A) 00038 #define TEST_SDA_PIN PA08 00039 #define TEST_SCL_PIN PA09 00040 I2C i2c(TEST_SDA_PIN, TEST_SCL_PIN); 00041 #elif defined(TARGET_SAMG55J19) 00042 #define TEST_SDA_PIN PA10 00043 #define TEST_SCL_PIN PA09 00044 I2C i2c(TEST_SDA_PIN, TEST_SCL_PIN); 00045 #else 00046 I2C i2c(p28, p27); 00047 #endif 00048 00049 int main() { 00050 bool success = true; 00051 char buf[] = {3, 2, 1, 4, 5, 6, 7, 8, 9, 10}; 00052 char res[SIZE]; 00053 00054 i2c.write(ADDR, buf, SIZE); 00055 i2c.read(ADDR, res, SIZE); 00056 00057 // here should be buf[all]++ 00058 i2c.write(ADDR, res, SIZE); 00059 i2c.read(ADDR, res, SIZE); 00060 00061 // here should be buf[all]+=2 00062 i2c.write(ADDR, res, SIZE); 00063 i2c.write(ADDR, res, SIZE); 00064 00065 // here should be buf[all]+=3 00066 i2c.read(ADDR, res, SIZE); 00067 i2c.read(ADDR, res, SIZE); 00068 00069 for(int i = 0; i < SIZE; i++) { 00070 if (res[i] != (buf[i] + 3)) { 00071 success = false; 00072 break; 00073 } 00074 } 00075 00076 notify_completion(success); 00077 }
Generated on Tue Jul 12 2022 17:03:47 by
1.7.2
