jo stimmt vergass sorry die 3 ms sind ja blitzartig verstrichen das es eigendlich direkt los geht^^

Code:
#include <avr/io.h>
#include "i2cmaster.h"
#include "asuro.h"

#define Display   0x74      // device address of Display, see datasheet
#define aus MotorDir(BREAK,BREAK)
#define go {MotorSpeed(150,150);MotorDir(FWD,FWD);}
#define backturn { MotorSpeed(150,250);MotorDir(RWD,RWD);Msleep(1000);} 

	int speed()
{
   int rightspeed,leftspeed;
   int leftold,rightold;

   Encoder_Set(0,0);      // reset encoder


   leftold=encoder[LEFT];
   rightold=encoder[RIGHT];
   Msleep(300);
   leftspeed=encoder[LEFT]-leftold;
   rightspeed=encoder[RIGHT]-rightold;

   //SerWrite("  speed Left,Right ",19);
   //PrintInt(leftspeed);
   //PrintInt(rightspeed);
   return leftspeed+rightspeed;
}



int main(void)
{
   int n,v,nullspeed;
   int ret=0;
   Init();
   BackLED(ON,ON);
   i2c_init();

   ret = i2c_start(Display+I2C_WRITE);
   if ( ret )
      {
      i2c_stop();
      StatusLED(RED);
      while(1);
      }
   Msleep(3);
   i2c_write(0x00);
   Msleep(3);
   i2c_write(0x01);
   Msleep(3);
   i2c_write(0x2E);
   Msleep(3);
   i2c_write(0x0F);
   Msleep(3);
   i2c_write(0x06);
   Msleep(3);
   i2c_stop();
   ret = i2c_start(Display+I2C_WRITE);
   if ( ret )
      {
      i2c_stop();
      StatusLED(RED);
	  while(1);
	  }
   Msleep(3);
   i2c_write(0x40); //Kontroll Byte
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xC8); //H
   Msleep(3);
   i2c_write(0xC5); //E
   Msleep(3);
   i2c_write(0xCC); //L
   Msleep(3);
   i2c_write(0xCC); //L
   Msleep(3);
   i2c_write(0xCF); //O
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xC9); //I
   Msleep(3);
   i2c_write(0xA7); //´
   Msleep(3);
   i2c_write(0xCD); //M
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xC1); //A
   Msleep(3);
   i2c_write(0xD3); //S
   Msleep(3);
   i2c_write(0xD5); //U
   Msleep(3);
   i2c_write(0xD2); //R
   Msleep(3);
   i2c_write(0xCF); //O
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xC3); //C
   Msleep(3);
   i2c_write(0xD2); //R
   Msleep(3);
   i2c_write(0xC5); //E
   Msleep(3);
   i2c_write(0xC1); //A
   Msleep(3);
   i2c_write(0xD4); //T
   Msleep(3);
   i2c_write(0xC5); //E
   Msleep(3);
   i2c_write(0xC4); //D
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xA0); //leer
   Msleep(3);
   i2c_write(0xC2); //B
   Msleep(3);
   i2c_write(0xD9); //Y
   Msleep(3);
   i2c_write(0x2E); //>
   Msleep(3);
   i2c_write(0xC4); //D
   Msleep(3);
   i2c_write(0xC1); //A
   Msleep(3);
   i2c_write(0xCE); //N
   Msleep(3);
   i2c_write(0xCA); //J
   Msleep(3);
   i2c_write(0xCF); //O
   Msleep(3);
   i2c_write(0x2F); //<
   Msleep(3);
   i2c_write(0x2F); //<
   Msleep(3);
   
   
Encoder_Init();
   StatusLED(OFF);
   SerWrite("\n\rASURO OK\n\r",8);

   go;
   Msleep(500);

   nullspeed=speed()-10;

   while(1)
   {
      v=speed();
      SerWrite("\n\r speed ",9);
      PrintInt(v);

      if(v<nullspeed)
      {
         backturn;
         go;
         Msleep(500);
      }

   }
   return 0;
}
so funktioniert alles. war nur für test zwecke