Ich habe jetzt die globale Variable gelöscht und diese in der Write_Line funktion übergeben, jedoch besteht immer noch der selbe delay von 210us...

Code:
void WRITE_LINE (uint8_t LINE[][16])	{
uint8_t TLC = 0xC4;
uint8_t Coloumn = 3;
uint8_t Counter = 0;
    for(TLC = 0xC6;TLC >= 0xC0; TLC-=2) {
    //_delay_us(2);
      if (i2csendstart() != 0x08) {
        i2csendstop();
        _delay_us(5);
        return;
      }
      if (i2csendbyte(TLC) != 0x18) {
        i2csendstop();
        _delay_us(5);
        return;
      }
      if (i2csendbyte(0xA2) != 0x28) {
        i2csendstop();
        _delay_us(5);
        return;
      }
    
      for(Counter = 0; Counter <16; Counter ++) {
        if (i2csendbyte((LINE[Coloumn][Counter])) != 0x28) {
          i2csendstop();
          _delay_us(5);
          return;
        }
      }
      i2csendstop();
      Coloumn--;
    }

 
  
  return; 
}
oder geht es mit pointer inkrementieren schneller??

lg Koertis