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語言指針 |