sensor_ti_hdc1000_example.c 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. // Application demo
  2. #include "sensor_ti_hdc1000.h"
  3. #define DBG_TAG "hdc1000.sensor"
  4. #define DBG_LVL DBG_INFO
  5. #include <rtdbg.h>
  6. int rt_hw_hdc1000_port(void)
  7. {
  8. struct rt_sensor_config cfg;
  9. rt_int8_t result;
  10. cfg.intf.dev_name = "i2c1";
  11. cfg.intf.user_data = (void *)HDC1000_SLAVE_ADDR_DEFAULT;
  12. cfg.irq_pin.pin = RT_PIN_NONE;
  13. result = rt_hw_hdc1000_init("hdc1000", &cfg);
  14. return result;
  15. }
  16. INIT_APP_EXPORT(rt_hw_hdc1000_port);
  17. void application_get_sensor_val(void)
  18. {
  19. struct rt_sensor_data sensor_data;
  20. rt_size_t res;
  21. rt_device_t dev = RT_NULL;
  22. dev = rt_device_find("temp_hdc1000");
  23. if (rt_device_open(dev, RT_DEVICE_FLAG_RDWR) != RT_EOK)
  24. {
  25. LOG_E("open device failed!");
  26. return;
  27. }
  28. res = rt_device_read(dev, 0, &sensor_data, 1);
  29. if (res != 1)
  30. {
  31. LOG_E("read data failed!size is %d", res);
  32. }
  33. else
  34. {
  35. LOG_I("temp:%3d.%dC, timestamp:%5d", sensor_data.data.temp / 10, sensor_data.data.temp % 10, sensor_data.timestamp);
  36. LOG_I("humi:%3d.%dC, timestamp:%5d", sensor_data.data.humi / 10, sensor_data.data.humi % 10, sensor_data.timestamp);
  37. }
  38. rt_device_close(dev);
  39. }