2016-01-30 2 views
1

Привет, я начал изучать Java, и в настоящее время я пытаюсь изучить C++. У меня есть этот кусок кода, и я не могу тренироваться, что он делает. Я предполагаю, что это заставляет программу ждать определенного периода времени до ее запуска. Но некоторые дополнительные объяснения были бы очень полезными.Что делает функция wait()?

Я добавил комментарии к разделам, для которых я хотел бы получить более подробное объяснение.

for (;;) { 
     wait (0.02); //What does this do? 

     if (ab1_On) { 
      con += 104; 
      ab1_On = 0; //Why is the value reset to 0? 
     } 
     if (ab2_On) { 
      con += 208; 
      ab2_On = 0; //Why is the value reset to 0? 
     } 

     con++; 
     if (con > 311) { 
      con -= 312; 
     } 
     for (int i=0; i<3; i++) { 
      bright[i] = brilvl (con + (i * 104)); 
     } 
    } 
} 
+4

'wait' нет части стандарта C++. Вероятно, он определен где-то в программе, которую вы пытаетесь выяснить. О переменных: существует мало контекста, и переменные не являются примером хорошего именования, но кажется, что код «_turning off_» эти переменные, поэтому они будут давать false на следующей итерации. –

+0

Это ужасный код. Если нет веских оснований для выяснения того, что он делает, не тратьте время на это. –

+0

@PeteBecker в основном это код на mbed-устройстве, я не опубликовал весь код. Из того, что я могу понять, ab1 и ab2 являются переключателями, и они передают свое значение в con при включении. Но я не вижу причины ожидания(); функция – user5647516

ответ

2

wait() - это функция, определенная в mbed SDK.

https://developer.mbed.org/handbook/Wait

В программе wait(0.02) будет блокировать выполнение в течение 20 миллисекунд.

for (;;) - бесконечный цикл, он будет работать вечно. wait() может использоваться для предотвращения эффектов switch bounce, если ab1_on и ab2_on устанавливаются некоторым механическим переключателем.

+0

Он будет блокироваться в течение 20 миллисекунд, а не 2. 1 с = 1000 мс, поэтому 0,02 с = 20 мс. –

+0

Вы правы, это была опечатка. Я исправлю это, спасибо, что указали это. –

Смежные вопросы