Hallo,

ich habe seit Weihnachten einen RP6 und mir vor kurzem den Ultraschall-Sensor SFR05 gekauft. Link: http://www.nodna.com/product_info.ph...cefd413990031d
Ich habe die Kabel so angebracht, das er in Mode2 arbeitet, was bedeutet, das Auslöse-Impuls und Echo über einen Port ausgelöst bzw. empfangen werden können. Nun hab ich aber als Anfänger nicht wirklich viel Ahnung, wie ich das Teil programmieren soll. Ich kann zwar den Impuls auslösen, weiß aber nicht, wie ich nun die Länge des zurückgesendeten Signals messen kann

Hier erstmal der Quelltext:
Code:
//Ultraschallsensor ansteuern und auswerten

#include "RP6RobotBaseLib.h"

int main(void)
{
	initRobotBase();
	
	powerON();
	
	setStopwatch1(0);
	
	while(true)
	{

		DDRC|=(SCL);							//SCL als Ausgang definieren
		PORTC&=~SCL;							//SCL auf low setzten			
		setLEDs(0b100100);	
		startStopwatch1();
		while(getStopwatch1()<11) PORTC|=SCL;	//für 10ms SCL auf high setzten
		PORTC&=~SCL;							//SCL auf low setzten
		setStopwatch1(0);
		DDRC &=~(SCL);							//SCL als Eingang definieren???
		
		if(PORTC|=SCL) 							//Wenn SCL einen Impuls sendet und Stopwatch1 = 0, dann starte Stopwatch1
		{
			setLEDs(0b010010);
			if(getStopwatch1()==0) startStopwatch1();
			
		}
		
		if(PORTC&=~SCL)							//Wenn das Signal zuende ist??,dann stoppe Stopwatch1
		{
			stopStopwatch1();
		}
				
		if(getStopwatch1()>0)					//Wenn Stopwatch1 > 0 dann setzte alle LEDs auf on
		{
			setLEDs(0b111111); 
			setStopwatch1(0);
		}
		mSleep(1000);		
	}
	
	return 0;
}
Irgendwie ist aber Stopwatch1 nie größer als Null, was ja bedeuten würde, dass kein Signal empfangen wurde.
Es wäre schön, wenn mir jemand helfen könnte, da ich es irgendwie nicht gebacken bekomme

Mfg
BeWe