clock.c

来自「一整套电梯控制器源程序」· C语言 代码 · 共 34 行

C
34
字号
#include "global.h"

//读写1226(特别注意点:读1226的动作会造成看门狗不能复位,所以改为每5s读一次)
void time_x1226(void)
{   uchar a;
    a=eread(0x3f);
    // 写时间到x1226
    if((m_set_time==1)||((a&1)==1)){		 			
        ewrite(0x35,mL_Data.mSysTime.mYearMonDat.cYear);
        ewrite(0x34,mL_Data.mSysTime.mYearMonDat.cMonth);
        ewrite(0x33,mL_Data.mSysTime.mYearMonDat.cDate);
        //24小时计时修正
        //ewrite(0x32,mL_Data.mSysTime.mHourMinSec.cHour);
        m_time=mL_Data.mSysTime.mHourMinSec.cHour|0x80;
        ewrite(0x32,m_time);
        ewrite(0x31,mL_Data.mSysTime.mHourMinSec.cMinute);
        //清除设定时间标记
        m_set_time=0;
    }
    // 读时间到缓冲区
    if(m_read_time==1){                                                        // 置读时间标志  
        mL_Data.mSysTime.mYearMonDat.cYear=eread(0x35);			//系统时间
        mL_Data.mSysTime.mYearMonDat.cMonth=eread(0x34);		//系统时间
        mL_Data.mSysTime.mYearMonDat.cDate=eread(0x33);			//系统时间
        //mL_Data.mSysTime.mYearMonDat.cWeek=01;					//系统时间(暂时未使用)
        //mL_Data.mSysTime.mHourMinSec.cHour=eread(0x32);			//系统时间
        m_time = eread(0x32);
        mL_Data.mSysTime.mHourMinSec.cHour = m_time&0x7F;
        mL_Data.mSysTime.mHourMinSec.cMinute=eread(0x31);		//系统时间
        //mL_Data.mSysTime.mHourMinSec.cSecond=0;					//系统时间(暂时未使用)
        m_read_time=0;
        m_read_time_count=COUNT_5s;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?