void set_ds1302time(uchar num,uchar *shi,uchar dat)//调时
{
if(num == 1) 参数是1的情况下
{
*shi+=0x01;//*shi是什么意思 没进来一次*shi累加一次,就是时间加一小时
if((*shi & 0x0f) >= 0x0a //大于等于10小时的话
*shi = (*shi & 0xf0) + 0x10; 16小时起算
if(*shi >= dat)
*shi = 0;
}
else
{
if(*shi == 0x00)
*shi = dat;
if((*shi & 0x0f) == 0x00)
*shi = (*shi | 0x0a) - 0x10;
*shi -=0x01 ;
}
}
参数是指针,char*shi,然后*shi+=0x01中的*shi是取指针的值。你可以看看c语言指针 |