Hallo Fieke

Das ist ein interessantes Projekt. Allerdings ist Linienfolgen nicht wirklich die Spezialdisziplin des RP6. Schnelle Motoränderungen belasten das Getriebe sehr.

Könnte das die Lösung für dein Problem sein?
Code:
#include "RP6RobotBaseLib.h"

int main(void)
{
   initRobotBase();
   powerON();

   uint8_t temp_E_INT1;
   uint8_t temp_SCL;
   uint8_t temp_SDA;

   DDRA &= ~E_INT1; // Datenrichtung Eingang
   DDRC &= ~(SCL | SDA);

   PORTA &= ~E_INT1; // PullUps deaktivieren
   PORTC &= ~(SCL | SDA);

   while(true)
   {
   	temp_E_INT1 = PINA & E_INT1; // Pins einlesen
		temp_SCL = PINC & SCL;
   	temp_SDA = PINC & SDA;

      if(temp_E_INT1)
      {
         writeString_P("\nINT1 is hoog\n");
      }

      if(!temp_E_INT1)
      {
         writeString_P("\nINT1 is laag\n");
      }

      if(temp_SCL)
      {
         writeString_P("\nSCL is hoog\n");
      }

      if(!temp_SCL)
      {
         writeString_P("\nSCL is laag\n");
      }

      if(temp_SDA)
      {
         writeString_P("\nSDA is hoog\n");
      }

      if(!temp_SDA)
      {
         writeString_P("\nSDA is laag\n");
      }
   mSleep(300);
   }

   return 0;
}
Du darst die Pinabfrage selbstverständlich auch direkt als Bedingung verwenden:
Code:
      if(PINA & E_INT1)
      {
         writeString_P("\nINT1 is hoog\n");
      }
      else
      {
         writeString_P("\nINT1 is laag\n");
      }
Gruß

mic