网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 模拟技术 >

英飞凌PSC62低功耗温湿度数据采集

时间:2023-05-30 09:05

人气:

作者:admin

标签:

导读:驱动hs3003温湿度传感器,采集完数据后进入深度睡眠模式,以达到节能的目的。...

目的

驱动hs3003温湿度传感器,采集完数据后进入深度睡眠模式,以达到节能的目的。

实现步聚

1、打开rtthreadsettings, 添加hs300x模块:

image.png

2、添加初始化代码:

#define HS300X_I2C_BUS  "i2c1"

int rt_hw_hs300x_port(void)
{
    struct rt_sensor_config cfg;

    cfg.intf.dev_name  = HS300X_I2C_BUS;
    cfg.intf.user_data = (void *)HS300X_I2C_ADDR;

    rt_hw_hs300x_init("hs300x", &cfg);

    return RT_EOK;
}
INIT_ENV_EXPORT(rt_hw_hs300x_port);

3、修改主程序代码如下:

#include 
#include 
#include "sensor_renesas_hs300x.h"
#include "drv_gpio.h"



#define LED_PIN     GET_PIN(0, 0)
#define USE_SECONDS_FOR_ALARM 30
#define LONG_GLITCH_DELAY_MS        100u    /* in ms */
#define RTC_INTERRUPT_PRIORITY      3u

void set_rtc_alarm_date_time(void);
cyhal_rtc_t rtc_obj;
extern struct hs300x_device temp_humi_dev;
int main(void)
{
    cy_rslt_t result;
    float temp_f, humi_f;
    __enable_irq();
    rt_pin_mode(LED_PIN, PIN_MODE_OUTPUT);
    rt_thread_mdelay(500);
    /* Initialize RTC */
    cyhal_rtc_enable_event(&rtc_obj, CYHAL_RTC_ALARM, RTC_INTERRUPT_PRIORITY, true);
    for (;;)
    {
        rt_kprintf("Go to DeepSleep mode
");


        set_rtc_alarm_date_time();
        cyhal_system_delay_ms(LONG_GLITCH_DELAY_MS);

//        /* Go to deep sleep */
        cyhal_syspm_deepsleep();
        rt_kprintf("Wakeup from DeepSleep mode
");
        hs300x_read_data(&temp_humi_dev, &humi_f, &temp_f);
//        /* Set the RTC generate alarm after 10 seconds */
        rt_kprintf("Temp:%2d.%df, Humi:%2d%%
",(int)temp_f,(int)(temp_f*10)%10, (int)humi_f);

    }
}

实验效果

[I/I2C] I2C bus [i2c1] registered

  | /
- RT -     Thread Operating System
 / |      4.1.1 build May 28 2023 12:08:51
 2006 - 2022 Copyright by RT-Thread team
[D/drv.rtc] rtc init success
[D/drv.rtc] RTC: get rtc_time 946684800
[D/drv.rtc] RTC: get rtc_time 946684800
[D/drv.rtc] RTC: get rtc_time 946684800
[I/sensor] rt_sensor[temp_hs300x] init success
[I/sensor] rt_sensor[humi_hs300x] init success
msh >Go to DeepSleep mode
Wakeup from DeepSleep mode
Temp:29.6f, Humi:77%
Go to DeepSleep mode

用电流表测试深度睡眠相比休眠模式少15MA左右,因为板载的DAP等其他元件在用电,所以还不能测试出来工作电路的电流情况。

审核编辑:汤梓红

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信