MCP4725
Dependents: Cube_Mini_Template
Diff: mcp4725.cpp
- Revision:
- 6:0e58d3068eb8
- Parent:
- 5:3e6ffce1eea2
- Child:
- 7:5cfc0f623d5b
--- a/mcp4725.cpp Thu Nov 07 19:05:29 2013 +0000 +++ b/mcp4725.cpp Fri Jan 31 17:59:17 2020 +0000 @@ -51,8 +51,11 @@ -int MCP4725::write(enum PowerMode mode, int dac_value, bool writeToEeprom) +int MCP4725::write(float dac_value, enum PowerMode mode, bool writeToEeprom) { + + + int dac_value_2 = (int) (0xFFF * (dac_value/4.94f) ); char data[3]={0}; int write_command; @@ -70,8 +73,8 @@ //Assemble our three bytes of data - Refer to MCP4725 ref manual, section 6. data[0] = (write_command <<5) | ((int)mode<<1); - data[1] = (dac_value>>4); - data[2] = (dac_value<<4); + data[1] = (dac_value_2>>4); + data[2] = (dac_value_2<<4); // Now write them to the device. return _i2c_interface.write(_device_address, data, sizeof(data)/sizeof(*data), false);