Как разорвать бесконечный цикл for (;;) в C?

У меня есть жизненно важный бесконечный цикл for, который позволяет датчику постоянно обновлять свои значения. Однако я хотел бы разорвать этот цикл for, когда другой датчик вводит новые значения. Как я могу переключиться с одного бесконечного цикла for на другой?

Текущий код:

for(;;){

    SON_Start();
    // Wait 65ms for max range time
    delay10ms(7);
    // Read Range
    i = SON_Read(SON_ADDRESSES[sonarReading]);
    // pause
    delayMs(100);
        if(i<15)
        drive(200, RadCW);

    }

Что я хотел бы добавить:

Если Sensor2 возвращает значение (например, Sensor2> 20 ), то я хочу прервать цикл и перейти к другому бесконечному циклу for, чтобы начать новую функцию.

10
задан palacsint 9 June 2012 в 21:58
поделиться