全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

在1.8寸TFT上通过描点的方式实现温度曲线图

时间:2023-10-08 11:49

人气:

作者:admin

标签: 描点    1.8寸    TFT  通过 

导读:本篇文章在1.8寸TFT上通过描点的方式实现温度曲线图,温度采集使用手上的HS3003,屏幕局部刷新已实现,后面会更新滚动显示。...

前言

本篇文章在1.8寸TFT上通过描点的方式实现温度曲线图,温度采集使用手上的HS3003,屏幕局部刷新已实现,后面会更新滚动显示。

HS3003数据读取

RT-Thread Settings中添加hs300x软件包

1.jpg

使用模拟IIC,408 和407引脚

1.jpg

在RA Smart Configurator中配置408和407为输出模式

1.jpg

在sensor_renesas_hs300x.c中添加初始化代码

#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);

读取温度:

1.jpg

打开串口,查看输出

1.jpg

曲线显示

当前只能在屏幕显示完后,将显示部分全部刷新,不能滚动显示,后面有时间补上,代码如下

void Port_DrawCurve(uint16_t value)
{
static uint8_t last_x,last_y = 0,x=10;
static uint16_t temp_y = 10,mode=0;
temp_y = value;
//这里由于数值较大,屏幕放不下,所以整体缩小了10倍
//使用的时候由于屏幕是倒置使用的,所以需要用128-value的值
// temp_y = LCD_DRAW_CURVE_y_MAX - value;
if(temp_y >= 120)
{
temp_y = 120;
}
if(mode == 0)
{
x+=1;
last_x=x;
lcd_draw_pixel(temp_y,x,LCD_CURE_COLOR);
}
else if(mode ==1)
{
lcd_draw_pixel(temp_y,145,LCD_CURE_COLOR);
}
if(x>=145)
{
x=10;
lcd_fill(11,11,120,150,WHITE);
// value =1;
}
//从第0列开始画
}

总结

温度折线显示已经完成,如下所示:

1.jpg

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

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

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

关注微信