MCP3425 library
See http://developer.mbed.org/users/yasuyuki/notebook/MCP3425/
MCP3425.cpp@0:b7bc51be525f, 2014-10-15 (annotated)
- Committer:
- yasuyuki
- Date:
- Wed Oct 15 14:37:59 2014 +0000
- Revision:
- 0:b7bc51be525f
first release
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yasuyuki | 0:b7bc51be525f | 1 | //********************** |
yasuyuki | 0:b7bc51be525f | 2 | // MCP3425.cpp for mbed |
yasuyuki | 0:b7bc51be525f | 3 | // |
yasuyuki | 0:b7bc51be525f | 4 | // MCP3425 mcp3425(P0_5,P0_4); |
yasuyuki | 0:b7bc51be525f | 5 | // or |
yasuyuki | 0:b7bc51be525f | 6 | // I2C i2c(P0_5,P0_4); |
yasuyuki | 0:b7bc51be525f | 7 | // MCP3425 mcp3425(i2c); |
yasuyuki | 0:b7bc51be525f | 8 | // |
yasuyuki | 0:b7bc51be525f | 9 | // (C)Copyright 2014 All rights reserved by Y.Onodera |
yasuyuki | 0:b7bc51be525f | 10 | // http://einstlab.web.fc2.com |
yasuyuki | 0:b7bc51be525f | 11 | //********************** |
yasuyuki | 0:b7bc51be525f | 12 | |
yasuyuki | 0:b7bc51be525f | 13 | #include "mbed.h" |
yasuyuki | 0:b7bc51be525f | 14 | #include "MCP3425.h" |
yasuyuki | 0:b7bc51be525f | 15 | |
yasuyuki | 0:b7bc51be525f | 16 | MCP3425::MCP3425 (PinName sda, PinName scl) : _i2c(sda, scl) { |
yasuyuki | 0:b7bc51be525f | 17 | init(); |
yasuyuki | 0:b7bc51be525f | 18 | } |
yasuyuki | 0:b7bc51be525f | 19 | MCP3425::MCP3425 (I2C& p_i2c) : _i2c(p_i2c) { |
yasuyuki | 0:b7bc51be525f | 20 | init(); |
yasuyuki | 0:b7bc51be525f | 21 | } |
yasuyuki | 0:b7bc51be525f | 22 | |
yasuyuki | 0:b7bc51be525f | 23 | |
yasuyuki | 0:b7bc51be525f | 24 | short MCP3425::get() |
yasuyuki | 0:b7bc51be525f | 25 | { |
yasuyuki | 0:b7bc51be525f | 26 | |
yasuyuki | 0:b7bc51be525f | 27 | _i2c.read( MCP3425_ADDR, buf, 3); |
yasuyuki | 0:b7bc51be525f | 28 | |
yasuyuki | 0:b7bc51be525f | 29 | ad.byte.HB=buf[0]; |
yasuyuki | 0:b7bc51be525f | 30 | ad.byte.LB=buf[1]; |
yasuyuki | 0:b7bc51be525f | 31 | config.UC=buf[2]; |
yasuyuki | 0:b7bc51be525f | 32 | return ad.S; |
yasuyuki | 0:b7bc51be525f | 33 | |
yasuyuki | 0:b7bc51be525f | 34 | } |
yasuyuki | 0:b7bc51be525f | 35 | |
yasuyuki | 0:b7bc51be525f | 36 | |
yasuyuki | 0:b7bc51be525f | 37 | void MCP3425::init() |
yasuyuki | 0:b7bc51be525f | 38 | { |
yasuyuki | 0:b7bc51be525f | 39 | |
yasuyuki | 0:b7bc51be525f | 40 | config.bit.RDY=1; |
yasuyuki | 0:b7bc51be525f | 41 | config.bit.C=0; |
yasuyuki | 0:b7bc51be525f | 42 | config.bit.OC=1; |
yasuyuki | 0:b7bc51be525f | 43 | config.bit.S=2; |
yasuyuki | 0:b7bc51be525f | 44 | config.bit.G=0; |
yasuyuki | 0:b7bc51be525f | 45 | // Initiate Continuous 16bits, 15SPS |
yasuyuki | 0:b7bc51be525f | 46 | buf[0]=config.UC; |
yasuyuki | 0:b7bc51be525f | 47 | _i2c.write(MCP3425_ADDR, buf, 1); |
yasuyuki | 0:b7bc51be525f | 48 | |
yasuyuki | 0:b7bc51be525f | 49 | } |
yasuyuki | 0:b7bc51be525f | 50 |