6 RTC控件

什么是RTC控件?

RTC01

时间可以通过RTC控件来显示。RTC控件可以通过用户主机修改,也可以通过设置弹出系统键盘,对时间进行输入编辑操作,然后显示在串口屏上。本章节中介绍RTC控件常见的应用,结合工程中的画面介绍每一个应用的配置,常见的应用如下所示

  1. 时间显示:显示当前时间
  2. 定时功能:设置一个计时,在屏上显示计时的时间,在达到设定值时通过串口发出通知

适用范围:全系列

例程下载链接:《RTC控件应用》(点击跳转)

6.1 RTC控件属性介绍

RTC控件可以显示当前时间和倒计时,如下所示

RTC02

显示时间

显示当前时间

格式

时间的显示格式,如下所示

  • HH:MM:SS,显示小时、分钟和秒数
  • 20XX-MM-DD,显示年份、月份和日数
  • 20XX-MM-DD HH:MM:SS,显示年份、月份、日数、小时、分钟和秒数
  • 20XX-MM-DD HH:MM:SS 星期几,显示年月日,时间以及星期几
  • 星期几(中文+英文),显示星期几的中文和英文;
  • 自定义格式。例如“年-月-日,时-分-秒,星期”的格式为:%y-%n-%d,%h:%m:%s,%w(年=%y,月=%n,日=%d,时=%h,分=%m,秒=%s,星期=%w),如下所示

RTC03

语言

中文、英文

时差

与当前系统时间的差值,范围[-12~+12]

字体

字体大小和字体样式

前景颜色

字体颜色

允许编辑

点击RTC显示区域,弹出日期/时间设置界面,如下所示

RTC04

按压方式
  • 长按
  • 点击进入编辑

计时

RTC05

格式

计时时间的显示格式,如下所示

RTC06

计时长度

计时时间长度(秒)

显示方式

倒计时、顺计时

字体

字体大小

前景颜色

字体颜色

6.2 时间显示

【时间显示】画面,介绍设置显示当前时间的方法

画面配置

在【时间显示】画面的“背景图片”导入相应的美工图片。在该画面中添加RTC控件,如下所示

RTC07

属性配置

以控件ID为1的RTC控件为例,设置【格式】为“20XX-MM-DD HH:MM:SS 星期几”、【字体】为“ASC_CHS_30”、【前景颜色】为白色,配置如下所示

RTC08

运行预览

运行虚拟屏,虚拟屏中该RTC控件显示当前系统时间,运行效果如下所示

PS:虚拟屏直接显示电脑时间,且不支持修改,若需要RTC修改应用,下载到实体屏体验

MCU获取RTC系统时间

参考开发包keil程序中的him.dever.h文件函数声明以及him.dever.c文件中的定义。例如用户需获取串口屏的系统时间,则直接调用获取RTC函数ReadRTC()即可,代码如下所示

/*********************************************************************
** Function name    : void ReadRTC(void);
** Descriptions     : 获取串口屏中的系统时间
** input parameters : 无
** output parameters: 无
********************************************************************/
{
    ……
    ReadRTC();
    ……
}

6.3 定时功能

【定时功能】画面,介绍按下按钮后启动、暂停计时器的功能

画面配置

在【定时功能】画面的“背景图片”导入相应的美工图片。在该画面中RTC控件ID1,按钮控件ID3、4,作为顺计时功能;RTC控件ID2,按钮控件ID5、6作为倒计时功能,如下所示

RTC09

属性配置

以顺计时为例,倒计时参考顺计时说明即可

设置RTC控件ID1的【格式】为“MM:SS(计时)”、【计时长度】为“30”、【显示方式】为“顺计时”、【字体】为“ASC_CHS_36”,配置如下所示

RTC10

设置按钮控件ID3为开始计时功能,设置其【触摸虚框】为“否”、【按下时的图片】选择设置好的图片、勾选【裁剪】;填写按钮按下的对内指令为“开启定时器”,操作如下所示

RTC14

同理,设置按钮控件ID4为开始计时暂停功能,其设置流程和“开启定时器”类似,只需对内置指令改为“暂停定时器”

运行预览

运行虚拟屏,VisualTFT软件和虚拟屏用“虚拟串口”建立联机。打开【指令助手】,选择左侧导航栏【RTC时钟控件】,在“设定定时器”的操作类型中选择“设置定时器”。如例程中,控制画面(画面ID:1)中的RTC控件(控件ID:2),填写【数值】为对数值,点击“发送”。则虚拟屏该RTC控件显示“00:30”,运行效果如下所示

外部MCU控制

参考开发包keil程序中的him.dever.h文件函数声明以及him.dever.c文件中的定义

MCU设置计时时间

例如用户需设置串口屏的计时时间,则直接调用设置RTC计时的函数SeTimer()即可,函数定义如下所示

/*********************************************************************
** Function name    : void SeTimer(uint16 screen_id,
**                                uint16 control_id,
**                                uint32 timeout);
** Descriptions     : 设置计时控件
** input parameters :  screen_id  画面ID
**                    control_id 控件ID
**                    timeout   倒计时(秒)
** output parameters:  无
*********************************************************************/
{
    ……
    SeTimer(1,1,50);  //设置画面1的RTC控件1的值为50S
    ……
}
MCU开启计时

例如用户需开启串口屏的计时时间,则直接调用开启RTC计时的函数StartTimer()即可,函数定义如下所示

/*********************************************************************
** Function name    : void StartTimer(uint16 screen_id,
**                                uint16 control_id);
** Descriptions     : 开启计时控件
** input parameters : screen_id  画面ID
**                    control_id 控件ID
** output parameters: 无
*********************************************************************/
{
    ……
    StartTimer(1,1);  //开启画面1的RTC计时控件1
    ……
}
Copyright ©Dacai all right reserved,powered by Gitbook该文件修订时间: 2023-03-27 19:36:03

results matching ""

    No results matching ""