2012-06-28 4 views
2

Я пытаюсь взаимодействовать через гнездо микрофона на iPhone.iOS timing every ms

мне нужно обновить 15 бит постоянно, и мне интересно, если лучший способ сделать это будет выглядеть следующим образом:

У меня есть «кадр» а 16мс. Первые 1 мс - бит СТАРТ, и это 500 мВ. Следующие 15 мс - 0 В или 250 мВ. Затем он будет повторяться бит START.

Могу ли я точно сканировать это быстро на iOS?

+0

не думал ... Я имел в виду это как миллисекундный тег, который имеет больше смысла, но по-прежнему, вероятно, не является соответствующим тегом. – swickblade

ответ

1

Одним словом, no. Лучшее, что вы можете получить, это примерно каждые 5 мс, но это почти не достаточно стабильно, чтобы написать приложение вокруг него. Безопасный запас составляет 30 мс или около того (один раз на «кадр», похожий на частоту кадров видео 30 кадров в секунду).

+0

Я считаю, что лучшее, что вы можете получить, это 60 Гц (fps), если вы не увязываете свой основной цикл. CADisplayLink запускает каждый кадр, и iOS пытается работать со скоростью 60 кадров в секунду. Или вы можете просто добавить свою логику к основному циклу запуска и вызвать ее каждый раз, когда цикл цикла повторяется (опять же, каждый раз при 60 кадров в секунду, если вы не блокируете основной поток). Это неправильно? – borrrden

+0

Nevermind, это, кажется, было рассмотрено в статье, с которой вы связались. – borrrden

+0

Хорошая ссылка, там много интересных деталей. – sarnold