Load cell amplifier interface

Dependents:   mbed_oled

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers hx711.cpp Source File

hx711.cpp

00001 /* mbed library for HX711 Load Cell Amplifier/24-bit A/D converter
00002  * Copyright (c) 2015 Jim Conner
00003  *
00004  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00005  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00006  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
00007  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00008  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
00009  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
00010  * THE SOFTWARE.
00011  */
00012  
00013 #include "hx711.h"
00014 #include "mbed.h"
00015 
00016 //#define BPP         16                  // Bits per pixel    
00017 
00018 // Constructor         
00019 HX711::HX711(PinName clk, PinName addo) : clk(clk), addo(addo) 
00020 {
00021 
00022     
00023 }
00024 
00025 // Destructor
00026 HX711::~HX711(void) {}
00027 
00028 
00029 // Reading data from the converter
00030 long HX711::readData(void)
00031 {
00032   unsigned char i;
00033   unsigned long Count;
00034   clk=0;
00035   Count=0;
00036   while(addo);
00037   for (i=0;i<24;i++) {
00038       clk=1;
00039       Count=Count<<1;
00040       clk=0;
00041       if(addo) Count++;
00042   }
00043   clk=1;
00044   Count=Count ^0x800000;
00045   clk=0;
00046   return(Count);
00047 }
00048