Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
HX711.cpp
00001 #include "HX711.h" 00002 00003 HX711::HX711(PinName pin_dout, PinName pin_slk) :_pin_dout(pin_dout), _pin_slk(pin_slk) 00004 { 00005 _pin_slk = 1; 00006 wait_ms(100); 00007 _pin_slk = 0; 00008 00009 averageValue(); 00010 this->setOffset(averageValue()); 00011 this->setScale(1); 00012 } 00013 00014 HX711::~HX711() 00015 { 00016 00017 } 00018 00019 long HX711::averageValue(unsigned char times) 00020 { 00021 long sum = 0; 00022 for (unsigned char i = 0; i < times; i++) 00023 { 00024 sum += getValue(); 00025 } 00026 00027 return sum / times; 00028 } 00029 00030 long HX711::getValue() 00031 { 00032 long valeur = 0; 00033 00034 while (_pin_dout) 00035 ; 00036 00037 for (int i=0;i<24;i++) 00038 { 00039 _pin_slk = 1; 00040 valeur=valeur<<1; 00041 _pin_slk = 0; 00042 if(_pin_dout) valeur++; 00043 } 00044 00045 _pin_slk = 1; 00046 _pin_slk = 0; 00047 00048 valeur=valeur^0x800000; 00049 00050 return valeur; 00051 } 00052 00053 long HX711::getSignedValue() 00054 { 00055 return (getValue()-0x7FFFFF); 00056 } 00057 00058 void HX711::setOffset(long offset) 00059 { 00060 _offset = offset; 00061 } 00062 00063 void HX711::setScale(float scale) 00064 { 00065 _scale = scale; 00066 } 00067 00068 int HX711::getGram() 00069 { 00070 long val = (getValue() - _offset); 00071 return (int)((val/_scale)*1000); 00072 }
Generated on Sat Jul 23 2022 13:40:18 by
1.7.2