找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2330|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)DS1302的程序中加一位,程序是什么意思,看不懂呀,求大神賜教

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:894870 發(fā)表于 2021-4-14 16:22 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
void set_ds1302time(uchar num,uchar *shi,uchar dat)//調(diào)時(shí)
{
          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 ;
    }  
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:894154 發(fā)表于 2021-4-14 16:41 | 只看該作者
*shi+=0x01;
*shi指向的內(nèi)容加0x01后保存到*shi中
回復(fù)

使用道具 舉報(bào)

板凳
ID:839835 發(fā)表于 2021-4-14 16:55 | 只看該作者
void set_ds1302time(uchar num,uchar *shi,uchar dat)//調(diào)時(shí)
{
          if(num == 1) 參數(shù)是1的情況下
    {
            *shi+=0x01;//*shi是什么意思  沒進(jìn)來一次*shi累加一次,就是時(shí)間加一小時(shí)
                if((*shi & 0x0f) >= 0x0a  //大于等于10小時(shí)的話
                        *shi = (*shi & 0xf0) + 0x10; 16小時(shí)起算
                if(*shi >= dat)
                        *shi = 0;
    }
    else
    {
                if(*shi == 0x00)
                        *shi = dat;
                if((*shi & 0x0f) == 0x00)
                        *shi = (*shi | 0x0a) - 0x10;
                *shi -=0x01 ;
    }  
}
參數(shù)是指針,char*shi,然后*shi+=0x01中的*shi是取指針的值。你可以看看c語言指針
回復(fù)

使用道具 舉報(bào)

地板
ID:887371 發(fā)表于 2021-4-14 17:07 | 只看該作者
函數(shù)體的*shi和shi[0]等效。可以把函數(shù)體中所有*shi替換為shi[0]。
*shi+=0x01;//*shi是什么意思
shi[0]++;
上句和下句等效。
回復(fù)

使用道具 舉報(bào)

5#
ID:894870 發(fā)表于 2021-4-14 21:07 | 只看該作者
xunzhaod 發(fā)表于 2021-4-14 16:55
void set_ds1302time(uchar num,uchar *shi,uchar dat)//調(diào)時(shí)
{
          if(num == 1) 參數(shù)是1的情況下 ...

可以解析一下后面的程序嗎
回復(fù)

使用道具 舉報(bào)

6#
ID:584814 發(fā)表于 2021-4-15 11:22 | 只看該作者
看圖應(yīng)該是10進(jìn)制(常人用的)和16進(jìn)制(1302內(nèi)部用的)轉(zhuǎn)換的炫技寫法,建議在本壇找個(gè)簡單的一樣用。不過想燒腦或徹底搞明白&|等運(yùn)算技術(shù),這個(gè)例子不錯(cuò)的。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表