浙江巨华电器有限公司
当前位置: 主页 > > 电焊机 >

Date_1302.u8_month = BcdToHex

时间:2013-10-17 11:30:36来源:{http://www.zjhcn.com/} 作者:admin 点击:
我读的的数据有个奇怪的现象秒对分错时对日错月对周错年对下一次读时秒错分对时错日对月错周对年错下一次读...

我读的的数据有个奇怪的现象

秒对

分错

时对

日错

月对

周错

年对

下一次读时

秒 错

分 对

时 错

日 对

月 错

周 对

年 错

下一次读取

又反过来

源程序如下:

void Read_1302_Time()

{

uchar i;

uchar idata ucCurtime[7];

uchar idata uc[7];

uchar ucAddr = 0x81;

for (i=0; i<7; i++)

{

ucCurtime[i] = R1302(ucAddr);/*格式为: 秒 分 时 日 月 星期 年 */

uc[i] = R1302(ucAddr);//这里加了一句测试用的语句

ucAddr += 2;

}

Time_1302.u8_Second= BcdToHex(ucCurtime[0]);

Time_1302.u8_Minute= BcdToHex(ucCurtime[1]);

Time_1302.u8_Hour = BcdToHex(ucCurtime[2]);

Date_1302.u8_day = BcdToHex(ucCurtime[3]);

Date_1302.u8_month = BcdToHex(ucCurtime[4]);

Date_1302.u8_week = BcdToHex(ucCurtime[5]);

Date_1302.u8_year = BcdToHex(ucCurtime[6]);

}

在第10行的地方,加了一句uc[i] = R1302(ucAddr);(uc[i]是没用的数组)

后,可以实现,读出准确数据。

但是,系统初始化时,有时会出错,正好反过来了,

也就是uc[i] = R1302(ucAddr);(uc[i]里全是有用的数据,ucCurtime[i]里成乱码了)

为什么?

纠结了两天了,急需解决啊。

(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片