📄 isl1208.c
字号:
#include "ISL1208.H"
//#include "viic_c51.h"
#include "viic.h"
uchar ISL1208_Init();
uchar ISL1208_ReadTime(uchar *time);
uchar ISL1208_WriteTime(uchar *time);
uchar ISL1208_OpenSound(uchar freq);
uchar ISL1208_CloseSound();
/*
******************************************************************
功能: 初始化允许自动复位,设置允许写时钟,
去掉报警功能
操作 REG_STATUS,REG_INTERRUPT,REG_RESERVED,REG_TRIMMING,REG_COMPENSATE
*******************************************************************
*/
uchar ISL1208_Init()
{
idata uchar strTemp[5];
if(IRcvStr(ADDR_ISL1208,REG_STATUS,strTemp,2)==0)
{
return ID_ERR;
}
strTemp[0]|=(RTC_AUTO_RESET|RTC_WRITE_ENABLE);
strTemp[1]=(strTemp[1]&0x0f);
if(ISendStr(ADDR_ISL1208,0x07,strTemp,2)==0)
{
return ID_ERR;
}
return ID_OK;
}
/*
*******************************************************************
读出结果:cen,year,mon,day,hour min,sec,week
*******************************************************************
*/
uchar ISL1208_ReadTime(uchar *time)
{
idata uchar strTemp[8];
if(IRcvStr(ADDR_ISL1208,0x00,strTemp,7)==0)
{
return ID_ERR;
}
time[0]=0x20;
time[1]=strTemp[5];//year
time[2]=strTemp[4];//mon
time[3]=strTemp[3];//day
time[4]=(strTemp[2] & MASK_HOUR_24);//h
time[5]=strTemp[1];//min
time[6]=strTemp[0];//sec
time[7]=strTemp[6];//week
return ID_OK;
}
/*
*******************************************************************
读出结果:cen,year,mon,day,hour min,sec,week
*******************************************************************
*/
uchar ISL1208_WriteTime(uchar *time)
{
idata uchar strTemp[8];
strTemp[5]= time[1];//year
strTemp[4]= time[2];//mon
strTemp[3]= time[3];//day
strTemp[2]= (time[4]|HOUR_MODE_24);//h
strTemp[1]= time[5];//min
strTemp[0]= time[6];//sec
strTemp[6]= time[7];//week
if(ISendStr(ADDR_ISL1208,0x00,strTemp,7)==0)
{
return ID_ERR;
}
return ID_OK;
}
uchar ISL1208_OpenSound(uchar freq)
{
uchar strTemp[2];
strTemp[0]=(freq&0x0f);
if(ISendStr(ADDR_ISL1208,0x08,strTemp,1)==0)
{
return ID_ERR;
}
return ID_OK;
}
uchar ISL1208_CloseSound()
{
uchar strTemp[2];
strTemp[0]=0x00;
if(ISendStr(ADDR_ISL1208,0x08,strTemp,1)==0)
{
return ID_ERR;
}
return ID_OK;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -