ad7746_read_temperature.cpp 713 B

1234567891011121314151617181920212223242526272829303132
  1. #include <rtthread.h>
  2. #include <stdlib.h>
  3. #include <AD7746.h>
  4. #ifndef AD7746_I2C_NAME
  5. #define AD7746_I2C_NAME "i2c2"
  6. #endif
  7. static unsigned char c[2];
  8. static void ad7746_read_temperature(int argc,char *argv[])
  9. {
  10. // Initialization
  11. AD7746 ad7746;
  12. ad7746.begin(AD7746_I2C_NAME);
  13. // Setup VT
  14. c[0] = 0x81;
  15. ad7746.write(AD7746_REG_VT_SETUP, c, 1);
  16. // Setup Sample
  17. c[0] = 0xA1;
  18. ad7746.write(AD7746_REG_CFG, c, 1);
  19. // Print Temperature
  20. for(int i = 0; i< 5; i++)
  21. {
  22. rt_kprintf("\nCurrent Temperature: %d\n", ad7746.getVTData() / 2048 - 4096);
  23. rt_thread_mdelay(1000);
  24. }
  25. }
  26. MSH_CMD_EXPORT(ad7746_read_temperature, ad7746 read temperature example);