• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > 分数不多了,大家帮帮忙!PIC24FJ64GA306利用每次更换下次唤醒时间实现各个时间的闹钟,但是每次到凌晨第二天的时候,唤醒时间会出现6万多秒才能继续唤醒

分数不多了,大家帮帮忙!PIC24FJ64GA306利用每次更换下次唤醒时间实现各个时间的闹钟,但是每次到凌晨第二天的时候,唤醒时间会出现6万多秒才能继续唤醒

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了分数不多了,大家帮帮忙!PIC24FJ64GA306利用每次更换下次唤醒时间实现各个时间的闹钟,但是每次到凌晨第二天的时候,唤醒时间会出现6万多秒才能继续唤醒等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 分数不多了,大家帮帮忙!PIC24FJ64GA306利用每次更换下次唤醒时间实现各个时间的闹钟,但是每次到凌晨第二天的时候,唤醒时间会出现6万多秒才能继续唤醒
描述:

本帖最后由 cqqjj3887 于 2016-04-26 11:30:10 编辑

RTCC; 随意设置闹钟时间; 跨天唤醒

各位好:
       问题如标题所述,本来设置每次唤醒间隔为15秒,在一天时间里可以持续进入闹钟中断,但是每次凌晨0点的时候,就会出现下一次唤醒在6万多秒以后,请问是什么原因呢?剩下的分数不多了,请大家帮下忙,卡着不知道那错了,谢谢!
程序如下:
unsigned long int  xDate2Seconds(Xtime time)
{
  static unsigned long int  month[12]={
    /*01?*/xDAY*(0),
    /*02?*/xDAY*(31),
    /*03?*/xDAY*(31+28),
    /*04?*/xDAY*(31+28+31),
    /*05?*/xDAY*(31+28+31+30),
    /*06?*/xDAY*(31+28+31+30+31),
    /*07?*/xDAY*(31+28+31+30+31+30),
    /*08?*/xDAY*(31+28+31+30+31+30+31),
    /*09?*/xDAY*(31+28+31+30+31+30+31+31),
    /*10?*/xDAY*(31+28+31+30+31+30+31+31+30),
    /*11?*/xDAY*(31+28+31+30+31+30+31+31+30+31),
    /*12?*/xDAY*(31+28+31+30+31+30+31+31+30+31+30)
  };
  unsigned long int  seconds = 0;
  unsigned int  year = 0;
  year = time.year-1970;   
  seconds = xYEAR*year; 
  seconds += xDAY*((year+1)/4);  
  seconds += month[time.month-1];      
  if( (time.month > 2) && (((year+2)%4)==0) )
    seconds += xDAY;            
  seconds += xDAY*(time.day-1);        
  seconds += xHOUR*(time.hour - 8);         
  seconds += xMINUTE*time.minute;
  seconds += time.second;              
  return seconds;
}
/********************************************
 ************UTC时间转换为实际时间**************
 ********************************************/
void xSeconds2Date(unsigned long seconds,Xtime time )
{
    static unsigned int month[12]={
        /*01?*/31, 
        /*02?*/28, 
        /*03?*/31, 
        /*04?*/30, 
        /*05?*/31, 
        /*06?*/30, 
        /*07?*/31, 
        /*08?*/31, 
        /*09?*/30, 
        /*10?*/31, 
        /*11?*/30, 
        /*12?*/31 
    };
    unsigned int days; 
    unsigned short leap_y_count; 
    time.second      = seconds % 60;
    seconds          /= 60; 
    time.minute      =  seconds % 60;
    seconds          += 8 * 60 ;        
    seconds          /= 60; 
    time.hour        = seconds % 24;
    days              = seconds / 24;
    leap_y_count = (days + 365) / 1461;
    if( ((days + 366) % 1461) == 0) 
    {//?????1? 
        time.year = 1970 + (days / 366);
        time.month = 12;              
        time.day = 31; 
        return; 
    } 
    days -= leap_y_count; 
    time.year = 1970 + (days / 365);     
    days %= 365;                       
    days = 01 + days;                 
    if( (time.year % 4) == 0 ) 
    { 
        if(days > 60)--days;           
        else 
        { 
            if(days == 60) 
            { 
                time.month = 2; 
                time.day = 29; 
                return; 
            } 
        } 
    } 
    for(time.month = 0;month[time.month] < days;time.month++) 
    { 
        days -= month[time.month]; 
    } 
    ++time.month;              
    time.day = days;
    rtcc_time_from_server=time;
}
/****************************************
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分数不多了,大家帮帮忙!PIC24FJ64GA306利用每次更换下次唤醒时间实现各个时间的闹钟,但是每次到凌晨第二天的时候,唤醒时间会出现6万多秒才能继续唤醒

相关文章

  • 2017-06-05 WinCE60不能安装pocketSOAParmCAB
  • 2017-06-05 求救:关于PCI
  • 2017-06-05 windowsddkUSB复合设备驱动,如何同时读两个pipe?
  • 2017-06-05 51单片机电源怎么弄
  • 2017-06-05 杀毒需要什么基础?
  • 2017-06-05 驱动程序电源管理该怎么写,高分求救(100分)
  • 2017-06-05 MTKfeaturephone怎么得到附近wifi的ssid,mac,信号强度?
  • 2017-06-05 PH复合电极的电路接法
  • 2017-06-05 谁又STM32F103C8T6的PCB封装呀
  • 2017-06-05 关于UDRLSwiththeApproximationoftheActivationFunction公式c语言实现的问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 高手们,本人非常需要你们的帮助!
    • 内核符号与源代码文件的对应关系
    • 求T-Flash驱动代码!!!!!
    • 常用按键开关的构造和操作
    • shell脚本shell脚本中关于$的问题
    • WiFi小车制作问题
    • xpsp2下安装softice的问题。。。
    • 关于开发超市收银机系统的几个问题
    • 磁盘驱动是不是仍需调用int13对系统磁盘进行读写(ide驱动或者scsi驱动等)
    • 自定义scatter文件,程序进入HardFault_Handler

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有