1559|2

7097

帖子

11

TA的资源

版主

楼主
 

【小华HC32F4A0】RTT OLED温湿计 [复制链接]

 

【小华HC32F4A0】初识工规级高性能 开发板

【小华HC32F4A0】零代码闪灯 

【小华HC32F4A0】RTT 命令行点亮LED灯

【小华HC32F4A0】RTT —UART Hello world 

【小华HC32F4A0】RTT OLED 

【小华HC32F4A0】RTT HS3003温湿度计 

结合上面的OLED、HS3003一起,打OLED显示整合在一起。

1、修改sensor_renesas_hs300x.h文件如下:


#ifndef SENSOR_RENESAS_HS300X_H__
#define SENSOR_RENESAS_HS300X_H__

#include "sensor.h"

#define HS300X_I2C_ADDR 0x44

int rt_hw_hs300x_init(const char *name, struct rt_sensor_config *cfg);
extern struct hs300x_device temp_humi_dev; 

int hs300x_read_data(struct hs300x_device* dev, float *humi_f, float *temp_f);  //增加外文件调用
#endif

main.c函数修改如下:

#include <rtthread.h>
#include <rtdevice.h>
#include <board.h>
#include "sensor_renesas_hs300x.h"
#include "ssd1306.h"

/* defined the LED_GREEN pin: PC9 */
#define LED_GREEN_PIN GET_PIN(C, 9)
#include "sensor_renesas_hs300x.h"
#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);

int main(void)
{
    float humi_f;
    float temp_f;
    char buf[128] = {0};
    ssd1306_Init();
    ssd1306_Fill(Black);
    ssd1306_UpdateScreen();
    /* set LED_GREEN_PIN pin mode to output */
    rt_pin_mode(LED_GREEN_PIN, PIN_MODE_OUTPUT);

    while (1)
    {

        hs300x_read_data(&temp_humi_dev,&humi_f,&temp_f); //读取温温度
        rt_sprintf(buf,"T:%d.%2d",(int)temp_f,(int)(temp_f*100)%100);
        ssd1306_SetCursor(10, 0);
        ssd1306_WriteString(buf, Font_16x26, White); //显示
        rt_sprintf(buf,"H:%d.%2d",(int)humi_f,(int)(humi_f*100)%100);
        ssd1306_SetCursor(10, 30);
        ssd1306_WriteString(buf, Font_16x26, White);
        ssd1306_UpdateScreen();
        rt_pin_write(LED_GREEN_PIN, PIN_HIGH);
        rt_thread_mdelay(500);
        rt_pin_write(LED_GREEN_PIN, PIN_LOW);
        rt_thread_mdelay(500);
    }
}

保存后下载到开发板,效果如下:

【小结】在前面的基础上,只要增加少量代码就可以实现OLED显示的温湿度计了。这得益于RTT与小华半导体的生态建立得好。在我没拿到开发板时,对这个还算是小众的开发板有时担心是不是入门很难。现在看来,太简单了!给小华半导体公司点赞! 

 

最新回复

RTT和小华半导体的生态系统资料确实整全   详情 回复 发表于 2023-2-13 21:37
点赞 关注
 
 

回复
举报

6861

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

RTT和小华半导体的生态系统资料确实整全

点评

感谢大佬关注!  详情 回复 发表于 2023-2-14 07:09
 
 
 

回复

7097

帖子

11

TA的资源

版主

板凳
 
Jacktang 发表于 2023-2-13 21:37 RTT和小华半导体的生态系统资料确实整全

感谢大佬关注!

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表