Also muss man nur
Code:
  if(cmd)     {                [..]     }
dahintermachen?

So klappt es nicht:

Code:
    void lesen(void)
    {
            char text[50];
            int counter = 0;

        if(getBufferLength()) 
        {
            char tmp = readChar(); 
            if (tmp =='\n') 
            {
                mSleep(10); 
                counter = 0; 
            }
            text[counter] = tmp; 
            text[counter + 1] = '\0';
            counter++;
            }
             long cmd = atoi(text);
            if(cmd)
            {     
                  if(cmd == -1)
                        {
                            I2CTWI_transmitByte(PCF, 0);
                        }
                        else
                            if(cmd == -2)
                            {
                                I2CTWI_transmitByte(PCF, 3);
                            }
            }
    }