📄 real_time.h
字号:
#ifndef _REAL_TIME
#define _REAL_TIME
#include "dsp_flash.h"
int real_time_init(){
int a;
BYTE f_temp;
chg_speed(7);
f_temp=g_flag;
g_flag=g_flag|0x03;
g_flag=g_flag&0xF3;
selectchip(g_flag);
WSGR2=0x0c; ///C
a=WSGR1;
WSGR2=0x0a;
WSGR1=0x70;
WSGR2=0x0b;
WSGR1=0x86;
WSGR2=0x01;
WSGR1=0xff;
WSGR2=0x03;
WSGR1=0xff;
WSGR2=0x05;
WSGR1=0xff;
WSGR2=0x0a; ///A
WSGR1=0x20;
WSGR2=0x0b; ///B
WSGR1=0x66;
selectchip(f_temp);
chg_speed(0);
return 1;
}
int set_time(volatile unsigned char *p){
int i;
unsigned addr;
unsigned data_temp;
BYTE f_temp;
//chg_speed(7);
f_temp=g_flag;
g_flag=g_flag|0x03;
g_flag=g_flag&0xF3;
selectchip(g_flag);
WSGR2=0x0b;
WSGR1=0x84;
for(addr=0;addr<10;addr++){
if((addr>5)|((addr%2==0)&&(addr<5))){
WSGR2=addr;
i=*(p+addr);
WSGR1=i;//i;
}
else{
WSGR2=addr;
WSGR1=0xFF;
}
}
WSGR2=0x0b;
WSGR1=0x66;
selectchip(f_temp);
chg_speed(0);
return 1;
}
int read_time(volatile unsigned char *p){
int i;
unsigned addr;
unsigned data_temp;
BYTE f_temp;
//chg_speed(7);
f_temp=g_flag;
g_flag=g_flag|0x03;
g_flag=g_flag&0xF3;
selectchip(g_flag);
WSGR2=0x0C;
data_temp=WSGR1;
for(i=0;i<0x1000;i++){
WSGR2=0x0a;
data_temp=WSGR1;
if(!(data_temp&0x0080))
break;
}
if(i>=0x10000){
selectchip(f_temp);
return 0;
}
for(addr=0;addr<10;addr++){
WSGR2=addr;
data_temp=WSGR1;
*(p+addr)=(BYTE)data_temp;
*(p+addr)=(*(p+addr))&0xff;
}
if((*(p+6))>=7){
*(p+6)=(*(p+6))%7;
set_time(p);
}
selectchip(f_temp);
chg_speed(0);
return 1;
}
int regulate_time(volatile unsigned char *p){
if((*(p+3))==0xff)
return 0;
pTime[9]=*(p+3);
pTime[8]=*(p+4);
pTime[7]=*(p+5);
pTime[4]=*(p+6);
pTime[2]=*(p+7);
pTime[0]=*(p+8);
pTime[6]=*(p+9);
set_time(pTime);
return 1;
}
int compare_time(volatile unsigned char *p1){
BYTE temp;
int i;
BYTE flag_temp;
flag_temp=g_flag;
g_flag=g_flag|0x08;
selectchip(g_flag);
for(i=0;i<10;i++){
pTime[i]=pTime[i]&0xff;
p1[i]=p1[i]&0xff;
}
if((*p1)==0xff){
g_flag=flag_temp;
selectchip(g_flag);
return 1;
}
if((*(p1+1))==0xff)
return 1;
if((*p1)>=(*(p1+1))){
temp=pTime[4]*6+pTime[2]/10;
temp=temp&0xff;
if((temp<(*p1))&&(temp>=(*(p1+1)))){
g_flag=flag_temp;
selectchip(g_flag);
return 0;
}
else{
g_flag=flag_temp;
selectchip(g_flag);
return 1;
}
}
else{
temp=pTime[4]*10+pTime[2]/10;
temp=temp&0xff;
if((temp<(*p1))||(temp>=(*(p1+1)))){
g_flag=flag_temp;
selectchip(g_flag);
return 0;
}
else{
g_flag=flag_temp;
selectchip(g_flag);
return 1;
}
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -