前言
本篇文章在1.8寸TFT上通過描點的方式實現溫度曲線圖,溫度采集使用手上的HS3003,屏幕局部刷新已實現,后面會更新滾動顯示。
HS3003數據讀取
在RT-Thread Settings中添加hs300x軟件包
在RA Smart Configurator中配置408和407為輸出模式
在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);
讀取溫度:
打開串口,查看輸出
曲線顯示
當前只能在屏幕顯示完后,將顯示部分全部刷新,不能滾動顯示,后面有時間補上,代碼如下
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列開始畫
}
總結
溫度折線顯示已經完成,如下所示:
-
IIC接口
+關注
關注
0文章
23瀏覽量
11717 -
TFT屏
+關注
關注
0文章
17瀏覽量
5793 -
RT-Thread
+關注
關注
31文章
1300瀏覽量
40264
發布評論請先 登錄
相關推薦
評論