|
用HX711+称重传感器在没有负载时能得到返回的AD值,以前只是发现在无负载是值的变化很大,现在发现是个递减的趋势(⊙v⊙),就是每次复位重新取值的时候得到的AD值会比之前的小,只是为什么啊?
我直接连接的电子称,这跟电子称上的电池有关系吗?我没有负载,请问为什么会递减呢,下面是我获取AD值的程序,希望各位帮忙指教错误
- unsigned long int HX711_read_byte(void)
- {
-
-
-
- P9OUT &= ~BIT7;
- dat=0; // DOut=1,Sck=0时表明A/D 转换器还未准备好输出
- while(P9IN & BIT6); //等待Dout为0,判断AD转换是否结束,未结束继续等待
- for(i=0;i<24;i++)
- {
- P9OUT |= BIT7; //sck上升沿 (发送脉冲)
- Delay__hx711_us(4);
- dat=dat<<1; // sck下降沿来临时变量左移一位,右侧补零
- P9OUT &= ~BIT7; //SCK下降沿
- Delay__hx711_us(4);
- if(P9IN & BIT6)
- dat++;
- }
- P9OUT |= BIT7;
- Delay__hx711_us(4);
-
- // dat=dat^0x800000;
- /* if(dat&0x800000)
- {
- dat|=0xFF800000;
- }
- else
- {
- dat&=0x007FFFFF;
- }*/
- if((dat& 0x800000) == 0x800000)
- {
- dat = ~(dat - 1); //这里是由补码求出其除符号位的原码的计算。
- }
- return (dat);
- }
复制代码 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|