Sorry, ein bisschen (oder eher ziemlich) spät aber:
Du kannst erst mal die Empfindlichkeit mit acs_power() einstellen, einfach als Argument ACSLO, ACSHI oder ACSMAX angeben.
Dann wird mit subsys_getstate() beim Subsystem der Status abgefragt, in dem zurückgegebenen Byte sind auch 2 Bits für die Abstandssensoren dabei (Bit 0 und 1).
Entweder kann man also wie im Beispiel 02_acs.c Bitvariablen an der gleichen Stelle im RAM wie eine Bytevariable anlegen. Wenn man dann das zurückgegebene Byte in die Bytevariable speichert kann man über die Bitvariablen die Bits für die Sensoren abfragen.
Eine andere Möglichkeit ist über ein binäres Und das einzelne Bit aus dem Byte zu holen. Also z. B. so:
Code:
if(subsys_getstate() & SS_ACSL)
{
// Sachen die er machen soll wenn der linke Sensor anspricht
}
SS_ACSL ist auch eine in ccrp5.h definierte Konstante.
Die obere Methode ist sinnvoller normalerweise weil man einmal den Status abfragt und die Bit-Variablen danach so oft nimmt wie man will. Die zweite Möglichkeit macht eigentlich nur Sinn wenn man nur einmal einen Sensor abfragen will und das kommt wohl so gut wie nie vor.
Also einfach eine Bytevariable machen und 2 Bitvariablen, machen wir mal auf Byteadresse 4:
Code:
char[4] subsysstate;
bool[32] acsl, acsr;
32 weil du ja immer * 8 nehmen musst wegen Byte/Bit.
Und dann die Rückgabe von subsys_getstate() in die Bytevariable schreiben damit die aktuellen Sensordaten drin sind.
Code:
subsysstate = subsys_getstate();
Danach kannst du aus acsr und acsl die Sensorzustände rauslesen wo du willst, war in den CCBASIC-Routinen glaub ich sogar auch so.
Ich hoffe du hast jetzt mehr kapiert, sonst kannst du gern nochmal fragen bei den Sachen die unverständlich waren, ich werd schauen dass ich ein Stück früher antworte 
Viel Spaß beim programmieren, Oliver
Lesezeichen