Это мой первый пост в StackOverflow, поэтому заранее прошу прощения, если это не так.
Что я пытаюсь сделать:
Я запускаю цикл while (time> 0), показанный ниже, и проверяю, нажата ли кнопка, когда кнопка нажата, тональный сигнал воспроизводится с помощью команды playsnd в MATLAB, которая находится в функции sound.m. «Sound.m» вызывается playsound, который вызывается в цикле while (value (1) == 1), который проверяет нажатие кнопки.
Моя проблема:
Когда ВРЕМЯ установлено на 8 с или выше, и когда прошло 50% времени, а кнопка нажата, playsnd не запускается мгновенно! Странно то, что первые 50% выполняются мгновенно при нажатии кнопки. И для ВРЕМЕНИ ниже 8 с PlaySnd также запускается мгновенно при нажатии кнопки! Еще одна странная вещь заключается в том, что ошибка происходит только 80% времени, и это не имеет никакого логического смысла для меня в данный момент. Какое время цикла должно быть связано с тем, что playsnd не выполняется?
Буду очень признателен за вашу мудрость в этом вопросе :) Заранее спасибо!
while(time > 0)
value = getvalue(portCH);
if(value(1) == 1)
display('Time refreshed');
time = TIME;
time_cumulative = time_cumulative +LOOP_TIME;
playsound(TONE);
while(value(1) ~= 0)
value = getvalue(portCH);
end
end
time = time - LOOP_TIME;
end