# Using TC1321 10bits DAC I2C

**URL:** <https://forum.arduino.cc/t/using-tc1321-10bits-dac-i2c/325913>\
**Category:** Sensors\
**Created:** [July 25, 2015, 9:41pm UTC](https://forum.arduino.cc/t/using-tc1321-10bits-dac-i2c/325913 "2015-07-25T21:41:29Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![oceam2](https://avatars.discourse-cdn.com/v4/letter/o/46a35a/32.png) [@oceam2](https://forum.arduino.cc/u/oceam2)\
**Post date:** [July 25, 2015, 9:41pm UTC](https://forum.arduino.cc/t/using-tc1321-10bits-dac-i2c/325913/1 "2015-07-25T21:41:29Z")

</div>

Here I leave one example how to generate a 0-2.5V (depens on your Vref) ramp with the TC1321.

Enjoy!

#include \<Wire.h\>

byte i2cAddr=B1001000;//device ID Address for my TC1321

void setup()  
{  
Wire.begin();  
}

void loop(){

for (int i=0; i\<1024; i++){  
transmite (i2cAddr, 0x00, i);  
delay(10); // up to you  
}

}

void transmite(byte x,byte y, int i) // dirección, registro, valor  
{  
int b=i\<\<6; // 2 bytes splitted: b9-b2 first, and b1-b0 secondly (regarding 10 bits of i)  
byte c=b;  
Wire.beginTransmission(x);  
Wire.write(y); //select register  
Wire.write(i\>\>2); //set value b9-b2  
Wire.write(c); //set value b1-b0 on cb7 and cb6  
Wire.endTransmission();  
}

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [May 6, 2021, 10:10am UTC](https://forum.arduino.cc/t/using-tc1321-10bits-dac-i2c/325913/2 "2021-05-06T10:10:04Z")

</div>


