#include "MCP4725.h" MCP4725::MCP4725() { } void MCP4725::begin(uint8_t addr) { _i2caddr = addr; hSens1.i2c.selectI2C(); hSens1.i2c.setDataRate(400000); } void MCP4725::setVoltage(uint16_t output) { // MCP4726_CMD_WRITEDAC uint8_t data[] = { 0x40, output / 16,(output % 16) << 4 }; hSens1.i2c.write(_i2caddr, data, 3); //hSens1.i2c.write(_i2caddr, 0x40, 1); //hSens1.i2c.write(_i2caddr, output / 16, 1); // Upper data bits (D11.D10.D9.D8.D7.D6.D5.D4) //hSens1.i2c.write((_i2caddr, (output % 16) << 4, 1); // Lower data bits (D3.D2.D1.D0.x.x.x.x) }