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

標題: if(addr&Page_bye==0)這一步,寫夠8個字節,addr=0x07時應該不會成立 但運行正確 [打印本頁]

作者: coderyang    時間: 2023-3-14 18:48
標題: if(addr&Page_bye==0)這一步,寫夠8個字節,addr=0x07時應該不會成立 但運行正確
/*********************************************************************
                函數名:E2WritePage();
                參數列表:第一個為I2C_Add器件地址,第二個addr器件子地址,第三個參數為數據數組,第四個參數為寫入的字節數
                返回參數:0:寫入失敗,內存不夠,1:正常寫入
                功能:實現多字節寫入器件
************************************************************************/
uchar E2WritePage(uchar I2C_Addr,uchar addr,uchar *buf,uint len)
{
        uint i;
        if(MAX_E2-addr<len)//判斷現存內存是否足夠,這里的MAX_E2是我定義的一個宏變量,值是255
                return 0;
               
                while(len>0){
                        I2C_Start();//啟動總線
                        I2C_WriteByte((I2C_Addr<<1));
                        I2C_WriteByte((addr));//子器件尋址
                        
                        while(len>0){
                                I2C_WriteByte(*buf++);//寫入數據
                                addr++;
                                len--;
                                //這個Page_bye也是我定義的一個宏變量,值是0x07,
                                //用來是否寫入夠8字節了,夠了就直接退出內循環,開始寫下一頁的數據,也就是翻頁
                                if(addr&Page_bye==0)
                                        break;
                        }
                        I2C_Stop();
                        Delay10ms();
                }
        return 1;


if(addr&Page_bye==0)這一步,寫夠8個字節,addr=0x07時應該不會成立   但是程序運行正確
                                




作者: Hephaestus    時間: 2023-3-14 19:37
搞不清優先級就打括號,反正打括號又不會增加代碼量,為什么不做?
作者: Y_G_G    時間: 2023-3-14 20:47
(addr&Page_bye==0)
為什么要這樣寫呢?加個括號不好嗎?
C語言優先級那么多,總有一兩個記不住的,加個括號不就好了




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