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

【STM32C0评测】使用nr_micro_shell设置RTC时间

[复制链接]
lugl 发布时间:2025-5-5 10:20

【前言】

前面在移植好了U8G2的图形库,同时结合RTC来实现了一个时钟的界面,这一篇将结合我在前移植好的nr_micro_shell来实现设置时间。

1、添加shell命令:

/* 设置时间 */
void shell_time_cmd(char argc, char *argv)
{
    if(argc == 4)
    {

                        uint8_t hour = atoi(&argv[argv[1]]);   // 第一个参数:小时
                        uint8_t minute = atoi(&argv[argv[2]]); // 第二个参数:分钟
                        uint8_t second = atoi(&argv[argv[3]]); // 第三个参数:秒

                        // 参数校验
                        if (hour > 23 || minute > 59 || second > 59)
                        {
                                shell_printf("Invalid time format. Range: HH(0-23), MM(0-59), SS(0-59)\r\n");
                                return;
                        }

                        // 构造 RTC 时间结构体
                        RTC_TimeTypeDef sTime = {0};
                        sTime.Hours = hour;
                        sTime.Minutes = minute;
                        sTime.Seconds = second;
                        sTime.TimeFormat = RTC_HOURFORMAT12_AM; // 可根据需要修改为 24 小时制
                        sTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE;
                        sTime.StoreOperation = RTC_STOREOPERATION_RESET;

                        // 设置 RTC 时间
                        if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BIN) != HAL_OK)
                        {
                                shell_printf("Failed to set RTC time.\r\n");
                        }
                        else
                        {
                                shell_printf("RTC time set to: %02d:%02d:%02d\r\n", hour, minute, second);
                        }
            }
            else
            {
                    shell_printf("Usage: Time <HH> <MM> <SS>\r\n");
                    shell_printf("Example: Time 12 30 45\r\n");
            }   

}

在这里,先判断输入的参数是否正确,如果正确则更新RTC时间。

同时在添加进shell的命令列表:

image.png

【效果】

在shell终端中输入想要设置的时间,就可以成功的更新RTC的时间了,同时界面也显示了正确的时间。

image.png

收藏 评论0 发布时间:2025-5-5 10:20

举报

0个回答

所属标签

ST中文论坛活动

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


最新内容

相似分享

官网相关资源

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