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

【STM32U3评测】TouchGFX之四实现数字时钟

[复制链接]
lugl 发布时间:2025-5-24 16:37

在前面几篇中,我实现了TouchGFX+FreeRTOS工程,这次在该工程中添加RTC,并结合TouchGFX的数字时钟实现一个数字时钟的界面。

1、打开STM32CubeMX,打开RTC,同时打开闹钟,每秒实现一次中断。

image.png

2、生成工程后,在创建一个freertos的信号量。

image.png

3、在闹钟的回调函数中发出一个信号量:

extern SemaphoreHandle_t xSemaphore;
void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc)
{

    if(xSemaphore != NULL)
    {
        xSemaphoreGive(xSemaphore);
    }

}

4、打开touchGFX designer,添加一个数字时钟:

image.png

5、生成工程后,在screenView.cpp中添加handleTickEvent函数,如果获取到刷新的信号量,则去RTC获取一次时间,并刷新数字时钟控件:

void screenView::handleTickEvent()
{
    if( xSemaphoreTake( xSemaphore, 0 ) == pdTRUE )
    {
        HAL_RTC_GetTime(&hrtc,&sTime,RTC_FORMAT_BIN);
        HAL_RTC_GetDate(&hrtc,&sDate,RTC_FORMAT_BIN);
        digitalClock.setTime24Hour(sTime.Hours, sTime.Minutes, sTime.Seconds);
        digitalClock.invalidate();

    }
}

【实现效果】

编译后下载到开发板,可以在touchGFX界面看到了时钟每秒钟更新一次。

clock.gif

收藏 评论0 发布时间:2025-5-24 16:37

举报

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