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

標題: 請問大佬怎么把下面這段單片機程序簡化 [打印本頁]

作者: stdwmap    時間: 2020-2-20 14:13
標題: 請問大佬怎么把下面這段單片機程序簡化
個人寫的溫濕度讀取程序,采集16次,每次采集到1或者0。我程序底子差,寫了a到p16個變量存放,之后再合并成一個數處理。但這樣太占空間了,知道可以用for循環加按位與或操作,但是不知道怎么改,求大佬幫忙
                while(!dht);
                Delay45us();
                if(!dht){
                a=0;}
                else{a=1;Delay45us();}
               
                while(!dht);
                Delay45us();
                if(!dht){
                b=0;}
                else{b=1;Delay45us();}
               
                while(!dht);
                Delay45us();
                if(!dht){
                c=0;}
                else{c=1;Delay45us();}
               
                while(!dht);
                Delay45us();
                if(!dht){
                d=0;}
                else{d=1;Delay45us();}
               
                while(!dht);
                Delay45us();
                if(!dht){
                e=0;}
                else{e=1;Delay45us();}
               
                while(!dht);
                Delay45us();
                if(!dht){
                f=0;}
                else{f=1;Delay45us();}
               
                while(!dht);
                Delay45us();
                if(!dht){
                g=0;}
                else{g=1;Delay45us();}
               
                while(!dht);
                Delay45us();
                if(!dht){
                h=0;}
                else{h=1;Delay45us();}
               
                                while(!dht);
                Delay45us();
                if(!dht){
                i=0;}
                else{i=1;Delay45us();}
               
                while(!dht);
                Delay45us();
                if(!dht){
                j=0;}
                else{j=1;Delay45us();}
               
                while(!dht);
                Delay45us();
                if(!dht){
                k=0;}
                else{k=1;Delay45us();}
               
                while(!dht);
                Delay45us();
                if(!dht){
                l=0;}
                else{l=1;Delay45us();}
               
                while(!dht);
                Delay45us();
                if(!dht){
                m=0;}
                else{m=1;Delay45us();}
               
                while(!dht);
                Delay45us();
                if(!dht){
                n=0;}
                else{n=1;Delay45us();}
               
                while(!dht);
                Delay45us();
                if(!dht){
                o=0;}
                else{o=1;Delay45us();}
               
                while(!dht);
                Delay45us();
                if(!dht){
                p=0;}
                else{p=1;Delay45us();}


作者: zalelife    時間: 2020-2-20 15:10
unsigned char i;
unsigned short vlaue = 0;
for(i=0;i<16;i++)
{
        while(!dht);
        Delay45us();
        if(!dht)
        {
                vlaue &= ~(1<<i);
        }
        else
        {
                vlaue |= (1<<i);
                Delay45us();
        }       
       
}
作者: csmyldl    時間: 2020-2-20 15:11
unsigned int value;
value=0;
for (i=0;i<16;i++)
if (dht)
value=(value<<1)+1;
else
value<<=1;
作者: stdwmap    時間: 2020-2-20 20:35
zalelife 發表于 2020-2-20 15:10
unsigned char i;
unsigned short vlaue = 0;
for(i=0;i

謝謝。




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