Проблема чтения внешнего аксессуара

Мне нужно периодически получать данные через внешний аксессуар BlueTooth.

Я реализовал управляемую событиями модель потоков EA. Тем не менее, начальная передача с Bluetooth всегда задерживается. Например, если бы каждый пакет имел длину 15 байтов, делегат потока не сработал бы до примерно 150 байтов.

Поможет ли опрос?

РЕДАКТИРОВАТЬ:

Также мне было трудно восстановить сессию после того, как приложение переключилось обратно с фона на передний план. Попытка открыть сессию снова потерпит неудачу. Любая идея?

1 ответ

Решение

Читать каждый байт, когда NSStreamEventHasBytesAvailable прибывает.

Вы разработали свой собственный аксессуар Bluetooth? Может быть, MCU сбрасывается только после отправки каждые 150 байтов.

Также вы упомянули initial transmission, Знаете ли вы, когда устройство Bluetooth подключено и подключено к iPhone, оно должно пройти процедуру идентификации, рукопожатие какого-то секретного сертификата. Это может занять несколько и даже 10 секунд, в зависимости от качества сигнала. Это может быть причиной задержки.

Другие вопросы по тегам