![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Rtos API example
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "test_env.h" 00002 #include "AT30TSE75X.h" 00003 00004 #define NB_PAGE 16 00005 #define NB_BYTE 16 00006 00007 uint8_t rx[NB_BYTE], tx[NB_BYTE]="123456789ABCDEF"; 00008 00009 #if defined(TARGET_SAMR21G18A) 00010 AT30TSE75X temp_eeprom(PA16, PA17); 00011 #elif defined(TARGET_SAMD21J18A) || defined(TARGET_SAMD21G18A) || defined(TARGET_SAML21J18A) 00012 AT30TSE75X temp_eeprom(PA08, PA09); 00013 #elif defined(TARGET_SAMG55J19) 00014 AT30TSE75X temp_eeprom(PB10, PB11); 00015 #else 00016 #error "Target to be defined" 00017 #endif 00018 00019 int main() { 00020 MBED_HOSTTEST_TIMEOUT(10); 00021 MBED_HOSTTEST_SELECT(default_auto); 00022 MBED_HOSTTEST_DESCRIPTION(AT30TSE75X Interface); 00023 MBED_HOSTTEST_START("MBED_NEW"); 00024 float t; 00025 int i; 00026 00027 /* Write pages in EEPROM */ 00028 for (i = 0; i < NB_PAGE; i++) { 00029 tx[NB_PAGE - 1] = i; 00030 if (temp_eeprom.write_eeprom(tx, NB_BYTE, 0, i) != 0) { 00031 printf("Write EEPROM error\r"); 00032 return 0; 00033 } 00034 wait_ms(5); 00035 } 00036 printf("Write EEPROM OK\r"); 00037 00038 /* Read each page in EEPROM and compare them */ 00039 for (i = 0; i < NB_PAGE; i++) { 00040 memset(rx, 0, NB_BYTE); 00041 if (temp_eeprom.read_eeprom(rx, NB_BYTE, 0, i) != 0) { 00042 printf("Read EEPROM error\r"); 00043 return 0; 00044 } else { 00045 if (memcmp(tx, rx, NB_BYTE - 1) && (rx[NB_PAGE - 1] != i)) { 00046 printf("Comparison error\r"); 00047 return 0; 00048 } 00049 } 00050 } 00051 printf("Read EEPROM & Compare OK\r"); 00052 00053 while (1){ 00054 t = temp_eeprom.read_temp(); 00055 printf("Temperature: %f\n\r", t); 00056 wait(1); 00057 } 00058 }
Generated on Sun Jul 17 2022 08:25:26 by
![doxygen](doxygen.png)