请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【GUI板卡测评】1.H750开箱及简单模拟时钟

[复制链接]
电子烂人 发布时间:2025-3-1 14:26
0.前言
年前申请了H750开发板,这个板子和H745是一样的外设,只有芯片不同。先写一篇开箱,尝试做个简单的菜单DEMO。
1.开箱
正常包装如图,和最新的纸盒包装不同,是那种有点年头的塑封包装,应该是库存货,不过这并不影响做产品DEMO和示例
image.jpg
除板子以外还有一块FANOUT board,用来接外扩展模块和传感器,不过这次用不到这个小板子。
2. 应用
先试一下RTC和时钟
RTC配置如下:
image.png
TOUCHGFXMODEL中调用RTC组件;同时配置对应的.H文件
extern RTC_HandleTypeDef hrtc;
extern RTC_TimeTypeDef RTC_Time;
extern RTC_DateTypeDef RTC_Date;
Model::Model() : modelListener(0)
{
}
void Model::tick()
{
HAL_RTC_GetTime(&hrtc, &RTC_Time, FORMAT_BIN);
HAL_RTC_GetDate(&hrtc, &RTC_Date, FORMAT_BIN);
modelListener->updateTime(RTC_Time.Hours, RTC_Time.Minutes, RTC_Time.Seconds);
}
在页面中添加一个模拟时钟组件,因为是竖屏,所以这里我选的是最大号的,
image (1).png
经常看各种指针有点乏味了?不妨吧指针图片修改一下,改成两个半圆组合的圆形:
image (2).png
插入后如图
image (3).png
调用代码,使得该页面时每段时间都读取RTC中的数值
void AnalogScreenPresenter::updateTime(uint8_t hour, uint8_t minute, uint8_t second)
{
view.updateTime(hour, minute, second);
}
不过,这种每次都要运行到对应函数,才能调用RTC读取代码,实际应用会感觉有些卡顿,指针的速度忽快忽慢:

这里参考官方WIKI的办法,添加一组计时器TickCounter,指针部分使用Counter并使能,抛弃部分准确度来获得更流畅的动画效果
image (5).png
代码如下:
void AnalogScreenPresenter::handleTickEvent()
{
    tickCounter++;
    if (tickCounter % 60 == 0)
    {
        if (++second >= 60)
        {
            analogSeconds = 0;
            if (++minute >= 60)
            {
                analogMinutes = 0;
                if (++hour >= 24)
                {
                    hour = 0;
                }
            }
        }
  view.updateTime(hour, minute, second);
    }
最后效果如图:
image (4).png
收藏 评论0 发布时间:2025-3-1 14:26

举报

0个回答

所属标签

ST中文论坛活动

即日起开启活动话题入口,之后的活动统一都放在此处,欢迎大家的加入!


最新内容

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版