Can't send Data to LCD1602 with I2C
I2C_tx(bitmask |= (1&lt;&lt;RS));
I2C_tx(bitmask &amp;= ~(1&lt;&lt;RW));
I2C_tx(bitmask = data &amp; 0xF0 | 0x08);


RS is overridden in the third line, so the solution is:

I2C_tx(bitmask = data &amp; 0xF0 | 0x08 | (1&lt;&lt;RS));


And delete the first two lines :)