also, es funktioniert, zumindest teilweise. Ich musste (wegen code:blocks) noch ein paar libs inkludieren und auch die multiIO initialisieren, jetzt lässt sich der code bei mir auch starten:

Code:
//#include "RP6ControlLib.h"


#include "RP6ControlLib.h"
#include "RP6I2CmasterTWI.h"
#include "RP6Control_MultiIOLib.h"
#include "RP6Control_I2CMasterLib.h"
#include "RP6Control_LFSBumperLib.h"
#include "RP6ControlServoLib.h"
#include "RP6Control_OrientationLib.h"
//#include "standard.h"


/*****************************************************************************/

uint16_t distanz_PC5 = 0;
volatile uint16_t zeit_PC5 = 0;
volatile uint16_t timestamp_last_PC5 = 0;

uint16_t distanz_PC6 = 0;
volatile uint16_t zeit_PC6 = 0;
volatile uint16_t timestamp_last_PC6 = 0;

/*****************************************************************************/


ISR(TIMER1_CAPT_vect)
{
//Wenn steigende Flanke
    if(TCCR1B & (1<<ICES1))
    {
//Flankenerkennung auf fallend
        TCCR1B ^= (1<<ICES1);
//aktuelen timer-wert speichern
        timestamp_last_PC5 = ICR1;
        timestamp_last_PC6 = ICR1;
    }
//fallende Flanke
    else
    {
//Flankenerkennung auf steigend
        TCCR1B ^= (1<<ICES1);
//Laufzeit = aktueller timerwert - vorheriger timerwert
        zeit_PC5 = ICR1 - timestamp_last_PC5;
        zeit_PC6 = ICR1 - timestamp_last_PC6;
    }

}

/*****************************************************************************/

void HCSR04_vorn (void)
{
  // Messung
  DDRC |= (1 << PC5);//Trig als Ausgang
  PORTC &= ~(1<<PC5);//TRIG auf low
  DDRD &= ~(1<<PD6);//Echo als Eingang
  PORTD &= ~(1<<PD6);//ECHO pullup AUS


//Timer konfigurieren
    TCCR1A = 0; // normal mode, keine PWM Ausgänge
//Noise Canceler aktivieren, Flankenerkennung auf steigende, Prescaler auf 64
    TCCR1B |= (1<<ICNC1) | (1<<ICES1) | (1<<CS11) |(1<<CS10);

//ICP Interrupt aktivieren
    TIMSK |= (1<<TICIE1);

//Globale Interrupts aktivieren
    sei();
    distanz_PC5 = (zeit_PC5*4)/58;
    mSleep(100);
// Trig
  PORTC |= (1<<PC5);//Trig high
  _delay_us(12);
  PORTC &= ~(1<<PC5);//TRIG auf low
  _delay_ms(50);

//Werte ausgeben

  writeString("zeit_PC5:      ");
  writeIntegerLength(zeit_PC5, DEC, 4);
  writeChar('\n');
  writeString("distanz_PC5:    ");
  writeIntegerLength(distanz_PC5, DEC, 4);
  writeChar('\n');
  mSleep(2000);

}
/*****************************************************************************/
void HCSR04_hinten (void)
{

  // Messung
  DDRC |= (1 << PC6);//Trig als Ausgang
  PORTC &= ~(1<<PC6);//TRIG auf low
  DDRD &= ~(1<<PD6);//Echo als Eingang
  PORTD &= ~(1<<PD6);//ECHO pullup AUS


//Timer konfigurieren
    TCCR1A = 0; // normal mode, keine PWM Ausgänge
//Noise Canceler aktivieren, Flankenerkennung auf steigende, Prescaler auf 64
    TCCR1B |= (1<<ICNC1) | (1<<ICES1) | (1<<CS11) |(1<<CS10);

//ICP Interrupt aktivieren
    TIMSK |= (1<<TICIE1);

//Globale Interrupts aktivieren
    sei();
    distanz_PC6 = (zeit_PC6*4)/58;
    mSleep(100);
// Trig
  PORTC |= (1<<PC6);//Trig high
  _delay_us(12);
  PORTC &= ~(1<<PC6);//TRIG auf low
  _delay_ms(50);

 //Werte ausgeben

  writeString("zeit_PC6:      ");
  writeIntegerLength(zeit_PC6, DEC, 4);
  writeChar('\n');
  writeString("distanz_PC6:    ");
  writeIntegerLength(distanz_PC5, DEC, 4);
  writeChar('\n');
  mSleep(2000);

}


/*****************************************************************************/
void taster_M32(void)
{
  uint8_t key = getPressedKeyNumber();

  if(key)
    {

     while(getPressedKeyNumber());
     switch(key)
        {
         case 1:
               setLEDs(0b0001);
            HCSR04_vorn();
            break;
         case 2:
             setLEDs(0b0010);
            HCSR04_hinten();
            break;

        }
    }
}

/*****************************************************************************/

int main(void)
{
 //   initRP6Control();

    initRP6Control();
    multiio_init();
    initLCD();

    while(true)
    {
    taster_M32();
    }

    return 0;
}
die jeweiligen messungen werden durch die tasten der m32 ausgelöst, allerdings wird beim druck auf die taste 2 das vorhergehende ergebnis der taste 1 ausgegeben. Also muss man die ausgaben die durch die taste 1 entstehen noch irgendwo "nullen"...

ansonsten ähnelt die situation meinem vorhergehenden test, wenn ich auf PD6 die Sensoren umstecke, läufts, wenn beide Sensoren angeschlossen sind - nicht...

die ausgabe im terminal:

Code:
Terminal cleared!
zeit_PC5:      0694
distanz_PC5:    0047
zeit_PC6:      0694
distanz_PC6:    0047
zeit_PC5:      0694
distanz_PC5:    0047
zeit_PC6:      0694
distanz_PC6:    0047