博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于单片机定时器---年月日时分秒的算法
阅读量:4963 次
发布时间:2019-06-12

本文共 3703 字,大约阅读时间需要 12 分钟。

Here ar a part of the code for reference:

1 if(LocalTimes.Bit.second++>=59) 2           { 3             LocalTimes.Bit.second=0; 4             if(LocalTimes.Bit.minute++>=59) 5             { 6               LocalTimes.Bit.minute=0; 7               if(LocalTimes.Bit.hour++>=23) 8               { 9                 LocalTimes.Bit.hour=0;10                 LocalTimes.Bit.day++;11                 if(LocalTimes.Bit.month==2)12                 {13                   year=LocalTimes.Bit.year+1990;14                   if((year%4==0&&year%100!=0)||(year%400==0))15                   {16                     if(LocalTimes.Bit.day>29)17                     {18                       LocalTimes.Bit.day=1;19                       LocalTimes.Bit.month++;20                     }21                   }22                   else23                   {24                     if(LocalTimes.Bit.day>28)25                     {26                       LocalTimes.Bit.day=1;27                       LocalTimes.Bit.month++;28                     }29                   }30                 }31                 else if(LocalTimes.Bit.month%2) 32                 {33                   if(LocalTimes.Bit.month==9||LocalTimes.Bit.month==11)34                   {35                     if(LocalTimes.Bit.day>30)36                     {37                       LocalTimes.Bit.day=1;38                       LocalTimes.Bit.month++;39                     }40                   }41                   else42                   {43                     if(LocalTimes.Bit.day>31)44                     {45                       LocalTimes.Bit.day=1;46                       LocalTimes.Bit.month++;47                     }48                   }49                 }50                 else 51                 {52                   if(LocalTimes.Bit.month==4||LocalTimes.Bit.month==6)53                   {54                     if(LocalTimes.Bit.day>30)55                     {56                       LocalTimes.Bit.day=1;57                       LocalTimes.Bit.month++;58                     }59                   }60                   else61                   {62                     if(LocalTimes.Bit.day>31)63                     {64                       LocalTimes.Bit.day=1;65                       LocalTimes.Bit.month++;66                       if(LocalTimes.Bit.month>12)67                       {68                         LocalTimes.Bit.month=1;69                         if(LocalTimes.Bit.year++>62)70                         {71                           LocalTimes.Bit.year=9;72                         }73                       }74                     }75                   }76                 }77               }78             }79           }

Please note that the codes should be executed in the timer interrupt routine.

changed into seconds by using the RTC value:

1 static posix_time_t update_sntp_from_localtimer(void) 2 { 3   struct tm timestamp; 4   time_t t2 = 0; 5   //0 is the first month, 1 is the second month,so on... 6   timestamp.tm_mon = LocalTimestamp.BXI_Timestamp.Bit.month - 1; 7   timestamp.tm_mday = LocalTimestamp.BXI_Timestamp.Bit.day;     //day of month 8   timestamp.tm_year = LocalTimestamp.year - 1900; //start from 1900, \ 9                                                   e.g. 1900-1970 = 2208988800 seconds10   timestamp.tm_hour = LocalTimestamp.BXI_Timestamp.Bit.hour;11   timestamp.tm_min = LocalTimestamp.BXI_Timestamp.Bit.minute;12   timestamp.tm_sec = LocalTimestamp.BXI_Timestamp.Bit.second;13   timestamp.tm_yday = 0;        //day of year14   timestamp.tm_isdst = 0;15   t2 = mktime(&timestamp);16   return t2;17 }

 

Thank you!

 

转载于:https://www.cnblogs.com/lumao1122-Milolu/p/7648070.html

你可能感兴趣的文章
26、ASP.NET MVC入门到精通——后台管理区域及分离、Js压缩、css、jquery扩展
查看>>
5. javascript OOP编程:封装、继承--从零起步实现基于Html5的WEB设计器Jquery插件(含源码)...
查看>>
不断更新的 ToDo-List
查看>>
catalan数
查看>>
二叉树的深度优先遍历与广度优先遍历
查看>>
2016工作计划
查看>>
python利用socket传输文件
查看>>
JavaEEMybatis基础整理
查看>>
剑指offer(41)和为S的连续正数序列
查看>>
IOS-UI-UILable
查看>>
bzoj1345
查看>>
对员工宽容的公司 都死掉了
查看>>
python基础五
查看>>
BZOJ 1013: [JSOI2008]球形空间产生器sphere
查看>>
DevExpress TreeList添加右键菜单问题
查看>>
AEAI Portal V3.5.2门户集成平台发版说明
查看>>
[转]我们这么努力,也不过是为了成为一个普通人。
查看>>
G面经prepare: Chucked Palindrome
查看>>
CSS3 -webkit-transform
查看>>
在Linux系统里安装Virtual Box的详细步骤
查看>>