欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機DS1302的程序中加一位,程序是什么意思,看不懂呀,求大神賜教 [打印本頁]

作者: 123456789hyy    時間: 2021-4-14 16:22
標題: 單片機DS1302的程序中加一位,程序是什么意思,看不懂呀,求大神賜教
void set_ds1302time(uchar num,uchar *shi,uchar dat)//調時
{
          if(num == 1)
    {
            *shi+=0x01;//*shi是什么意思
                if((*shi & 0x0f) >= 0x0a
                        *shi = (*shi & 0xf0) + 0x10;
                if(*shi >= dat)
                        *shi = 0;
    }
    else
    {
                if(*shi == 0x00)
                        *shi = dat;
                if((*shi & 0x0f) == 0x00)
                        *shi = (*shi | 0x0a) - 0x10;
                *shi -=0x01 ;
    }  
}


作者: ANT1987    時間: 2021-4-14 16:41
*shi+=0x01;
*shi指向的內容加0x01后保存到*shi中
作者: xunzhaod    時間: 2021-4-14 16:55
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語言指針
作者: datouyuan    時間: 2021-4-14 17:07
函數體的*shi和shi[0]等效。可以把函數體中所有*shi替換為shi[0]。
*shi+=0x01;//*shi是什么意思
shi[0]++;
上句和下句等效。

作者: 123456789hyy    時間: 2021-4-14 21:07
xunzhaod 發表于 2021-4-14 16:55
void set_ds1302time(uchar num,uchar *shi,uchar dat)//調時
{
          if(num == 1) 參數是1的情況下 ...

可以解析一下后面的程序嗎
作者: man1234567    時間: 2021-4-15 11:22
看圖應該是10進制(常人用的)和16進制(1302內部用的)轉換的炫技寫法,建議在本壇找個簡單的一樣用。不過想燒腦或徹底搞明白&|等運算技術,這個例子不錯的。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1