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

標(biāo)題: 51單片機(jī)配置hx711壓力傳感器,為什么會(huì)卡在while循環(huán)里,引腳也沒(méi)有沖突 [打印本頁(yè)]

作者: xht3118008607    時(shí)間: 2024-5-12 15:39
標(biāo)題: 51單片機(jī)配置hx711壓力傳感器,為什么會(huì)卡在while循環(huán)里,引腳也沒(méi)有沖突
sbit DT=P2^2;
sbit SCK=P2^1;

void Delay__hx711_us(void)
{
        _nop_();
        _nop_();
}

unsigned long ReadCount()
{
        unsigned long count;
        unsigned char i;
        DT=1;
        Delay__hx711_us();
        SCK=0;
        count=0;
        while(DT);
        for(i=0;i<24;i++)
        {
                SCK=1;
                count<<=1;
                SCK=0;
                if(DT)count++;
        }
        SCK=1;
        count=count^0x800000;
        Delay__hx711_us();
        SCK=0;
        return count;
}

unsigned long Get_Weight(void)
{
        unsigned long Weight=0;
        Weight = ReadCount();
        Weight = (unsigned long)(Weight/400);
        return Weight;
}

難道是傳感器壞了嗎?求大神求解!!!



作者: coody_sz    時(shí)間: 2024-5-12 18:44
程序不要使用死等的代碼,一旦等的信號(hào)沒(méi)出現(xiàn),必死。
作者: Hephaestus    時(shí)間: 2024-5-12 20:05
用示波器檢查波形,看DT為什么始終無(wú)法置零。
作者: 51jia    時(shí)間: 2024-5-12 21:58
樓上說(shuō)得對(duì),程序要設(shè)置退出while條件,也就是異常處理,比如超時(shí)退出等。
作者: lkc8210    時(shí)間: 2024-5-13 10:08
你的代碼和官方提供的差不多
按理是沒(méi)太多問(wèn)題
建議從硬件如接線(xiàn)方面入手檢查
作者: a185980800    時(shí)間: 2024-5-13 12:27
出錯(cuò)了,退不出來(lái)唄。
作者: xht3118008607    時(shí)間: 2024-5-13 13:59
lkc8210 發(fā)表于 2024-5-13 10:08
你的代碼和官方提供的差不多
按理是沒(méi)太多問(wèn)題
建議從硬件如接線(xiàn)方面入手檢查

對(duì),跟官方提供的沒(méi)什么區(qū)別,接線(xiàn)也沒(méi)有問(wèn)題,應(yīng)該是芯片壞了,我已經(jīng)買(mǎi)了新的,到了再看看

作者: xht3118008607    時(shí)間: 2024-5-13 14:04
51jia 發(fā)表于 2024-5-12 21:58
樓上說(shuō)得對(duì),程序要設(shè)置退出while條件,也就是異常處理,比如超時(shí)退出等。

這里我只想用壓力傳感器,退出while條件就是DT置零,也就是相當(dāng)于hx711給個(gè)響應(yīng),如果設(shè)置超時(shí)退出,就獲取不到值,如果把while去掉,輸出的就是最大值,我所想獲取的值是hx711將DT引腳置零置一的值,應(yīng)該是hx711芯片壞了




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