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

【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分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版