当前位置: 首页 > news >正文

CH592万年历示例

本篇基于CH592的内部RC实现,其精度约1000ppm,精度较差,不适合对时间敏感的应用;
其次,需要联网获取北京时间进行定时校准,建议每小时一次;
原理:ppm(Parts Per Million)代表“百万分之几”,用于描述时钟频率的精度;1ppm的误差意味着每100万秒会产生大约1秒的误差;

误差计算

  • 每日误差 :精度(ppm) × 每日秒数 ÷ 1,000,000
    • 计算:1000 × (24 × 60 × 60) ÷ 1,000,000 = 86.4秒/天
    • 这意味着,每天的时间误差最大可能达到约86.4秒 。
  • 每月误差 (以30天计) :每日误差 × 30每年误差 (以365天计) :每日误差 × 365
    • 计算:86.4秒/天 × 30天 = 2592秒 (约43.2分钟)
    • 运行一个月后,误差可能累积到接近43分钟 。
    • 计算:86.4秒/天 × 365天 = 31536秒 (约8.76小时)
    • 运行一年后,误差可能累积到接近9小时 

校准周期建议

考虑到1000ppm的RTC误差累积速度非常快,不建议将其用于对时间精度有严格要求的“万年历”应用 。它的主要定位通常是满足系统基本的低功耗计时唤醒需求,而非提供高精度日历时间。
如果必须使用,校准周期需要根据您对时间偏差的容忍度来决定:
  • 高频校准 (适用于对时间较敏感的场景) :中低频校准 (适用于容忍度较高的场景) :
    • 建议每天或每周 进行一次校准。例如,如果允许的最大误差是1分钟,那么大约每17小时就需要校准一次。
    • 如果允许误差在几分钟到几十分钟,可以每月 校准一次。
    • 如果允许误差达到数小时,可以每年 校准一次,但这对于“日历”功能来说,体验会非常差。

 

/*将__DATE__中的月份转为阿拉伯数字*/
int monthAbbrToNumberSwitch(const char* month)
{if (strcmp(month, "Jan") == 0) return 1;if (strcmp(month, "Feb") == 0) return 2;if (strcmp(month, "Mar") == 0) return 3;if (strcmp(month, "Apr") == 0) return 4;if (strcmp(month, "May") == 0) return 5;if (strcmp(month, "Jun") == 0) return 6;if (strcmp(month, "Jul") == 0) return 7;if (strcmp(month, "Aug") == 0) return 8;if (strcmp(month, "Sep") == 0) return 9;if (strcmp(month, "Oct") == 0) return 10;if (strcmp(month, "Nov") == 0) return 11;if (strcmp(month, "Dec") == 0) return 12;return -1;
}

 

 

int year,month,day,hour,minute,second;
/*获取固件编译时的年、月、日、时、分、秒*/
void get_time(int *Year,int *Month,int *Day,int *Hour,int *Minute,int *Second)
{// 使用预定义宏char date[] = __DATE__;    // 例如:"Dec  8 2025"char time[] = __TIME__;    // 例如:"11:36:12"// 解析日期部分char temp_month[4];int temp_day, temp_year;sscanf(date, "%3s %d %d", temp_month, &temp_day, &temp_year);// 解析时间部分int temp_hour, temp_minute, temp_second;sscanf(time, "%d:%d:%d", &temp_hour, &temp_minute, &temp_second);// 输出结果PRINT("原始日期: %s\n", date);PRINT("原始时间: %s\n", time);PRINT("解析结果:\n");PRINT("- 年份: %d\n", temp_year);PRINT("- 月份: %d\n", monthAbbrToNumberSwitch(temp_month));PRINT("- 日期: %d\n", temp_day);PRINT("- 小时: %d\n", temp_hour);PRINT("- 分钟: %d\n", temp_minute);PRINT("- 秒数: %d\n", temp_second);*Year = temp_year;*Month = monthAbbrToNumberSwitch(temp_month);*Day = temp_day;*Hour = temp_hour;*Minute = temp_minute;*Second = temp_second;
}

 

 

/********************************************************************** @fn      main** @brief   主函数** @return  none*/
void main()
{SetSysClock(CLK_SOURCE_PLL_60MHz);GPIOA_ModeCfg( GPIO_Pin_All, GPIO_ModeIN_PU );GPIOB_ModeCfg( GPIO_Pin_All, GPIO_ModeIN_PU );/* 配置串口调试 */DebugInit();PRINT("Start @ChipID=%02X\n", R8_CHIP_ID);get_time(&year,&month,&day,&hour,&minute,&second);//模拟获取当前最新日期、时间Calibration_LSI(Level_128);//校准一次内部32KRTC_InitTime(year,month,day,hour,minute,second);//非蓝牙程序,可直接初始化RTC_TRIGFunCfg(32768);//32768为1s,1s周期触发RTC中断PFIC_EnableIRQ(RTC_IRQn);//使能RTC中断while(1);
}

 

 

__INTERRUPT
__HIGH_CODE
void RTC_IRQHandler(void)
{RTC_TRIGFunCfg(32768);//再次设置RTC下次1s后触发
    UINT16 py; UINT16 pmon; UINT16 pd; UINT16 ph; UINT16 pm; UINT16 ps;RTC_GetTime(&py,&pmon,&pd,&ph,&pm,&ps);if (RTC_GetITFlag(RTC_TRIG_EVENT)) //事件触发标志
    {PRINT("%d年%d月%d日%d时%d分%d秒\r\n",py,pmon,pd,ph,pm,ps);RTC_ClearITFlag(RTC_TRIG_EVENT);}
}

 

image

 

http://www.gsyq.cn/news/77120.html

相关文章:

  • 2025年五大花岗岩构件加工厂推荐,质量售后实力全解析
  • 2025年五大智慧移动厕所厂家权威推荐:从城市基建到应急保障,多维能力拆解与选型指南
  • 2025年郑州驾校服务排名TOP5,揭秘驾校练车时间安排、学
  • 2025降噪咪头定制推荐:驻极体咪头厂家哪家好攻略
  • week4task
  • 2025话筒咪头厂家哪家好?麦克风咪头厂家哪家好精选
  • 2025年江阴雅思线下培训五大靠谱机构推荐,附真实口碑与避坑
  • 2025防水咪头厂家哪家好?动圈咪头供应厂家实力测评
  • 2025橡胶同步带厂家哪家好?这份输送带厂家哪家好名单请收好
  • 2025深圳咪头生产厂家有哪些?优质厂家名单汇总
  • 2025零阻力拍门厂家推荐排行
  • 2025年PET硅胶带源头厂家与品牌推荐TOP5全解析
  • 2025年上海口碑好的离婚律师咨询、专业离婚律师排行榜,精选
  • 深圳代理记账公司哪家好?两大优质机构深度测评
  • MATLAB R2024b超详细图文下载安装教程(附安装包)
  • 2025年上海及周边模型加工厂排名:哪家模型公司好?专业推荐
  • 高压隔膜泵厂家推荐!2025电动隔膜泵厂家权威排行榜
  • 2025电镀钮扣厂家哪家好?国内十大钮扣厂家精选清单
  • 安装pytest-html生成测试报告
  • 透气膜机靠谱之选:老牌厂家的性价比优势
  • 2025认准优质杭州骨灰盒公司,优选杭州殡葬用品供应商合集
  • 2025口碑好的花岗岩构件生产商TOP5推荐:花岗岩构件加工
  • 详细介绍:【学术会议前沿信息|科研必备】EI/Scopus检索|数理统计、经济分析、大数据应用、机电工程与自动化、计算机、信息工程、电子材料、计算建模、仿真与数据分析等热门领域国际会议征稿开启!
  • 2025年广州工商财税服务权威推荐榜:公司注册、记账报税、地址挂靠、变更注销一站式专业解决方案精选
  • 卡内基梅隆大学宣布新一届研究生研究奖学金得主,聚焦AI与机器学习
  • 2025年护栏网行业五大靠谱品牌推荐,艾仑护栏网怎么样全解析
  • 透气膜机供应企业与品牌制造商的靠谱之选
  • 2025 年 12 月除甲醛/甲醛治理/保洁服务权威推荐榜:专业净化与深度清洁,打造健康宜居空间口碑之选
  • 那些算法的空间优化
  • 宝蓝德bes配置支持软链接