找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

if(addr&Page_bye==0)這一步,寫夠8個(gè)字節(jié),addr=0x07時(shí)應(yīng)該不會(huì)成立 但運(yùn)行正確

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1062292 發(fā)表于 2023-3-14 18:48 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
/*********************************************************************
                函數(shù)名:E2WritePage();
                參數(shù)列表:第一個(gè)為I2C_Add器件地址,第二個(gè)addr器件子地址,第三個(gè)參數(shù)為數(shù)據(jù)數(shù)組,第四個(gè)參數(shù)為寫入的字節(jié)數(shù)
                返回參數(shù):0:寫入失敗,內(nèi)存不夠,1:正常寫入
                功能:實(shí)現(xiàn)多字節(jié)寫入器件
************************************************************************/
uchar E2WritePage(uchar I2C_Addr,uchar addr,uchar *buf,uint len)
{
        uint i;
        if(MAX_E2-addr<len)//判斷現(xiàn)存內(nèi)存是否足夠,這里的MAX_E2是我定義的一個(gè)宏變量,值是255
                return 0;
               
                while(len>0){
                        I2C_Start();//啟動(dòng)總線
                        I2C_WriteByte((I2C_Addr<<1));
                        I2C_WriteByte((addr));//子器件尋址
                        
                        while(len>0){
                                I2C_WriteByte(*buf++);//寫入數(shù)據(jù)
                                addr++;
                                len--;
                                //這個(gè)Page_bye也是我定義的一個(gè)宏變量,值是0x07,
                                //用來是否寫入夠8字節(jié)了,夠了就直接退出內(nèi)循環(huán),開始寫下一頁的數(shù)據(jù),也就是翻頁
                                if(addr&Page_bye==0)
                                        break;
                        }
                        I2C_Stop();
                        Delay10ms();
                }
        return 1;


if(addr&Page_bye==0)這一步,寫夠8個(gè)字節(jié),addr=0x07時(shí)應(yīng)該不會(huì)成立   但是程序運(yùn)行正確
                                



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

使用道具 舉報(bào)

沙發(fā)
ID:883242 發(fā)表于 2023-3-14 19:37 | 只看該作者
搞不清優(yōu)先級(jí)就打括號(hào),反正打括號(hào)又不會(huì)增加代碼量,為什么不做?
回復(fù)

使用道具 舉報(bào)

板凳
ID:401564 發(fā)表于 2023-3-14 20:47 | 只看該作者
(addr&Page_bye==0)
為什么要這樣寫呢?加個(gè)括號(hào)不好嗎?
C語言優(yōu)先級(jí)那么多,總有一兩個(gè)記不住的,加個(gè)括號(hào)不就好了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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