Якщо ви використовуєте довжину бітового стоп-сигналу, яка легко відмічається від решти потоку даних, наприклад, 1,5 бітового часу, тоді розпочати прийом в середині передачі слід легко. Однак це відбувається за рахунок збільшення накладних витрат. Ваша загальна доступна пропускна здатність даних постраждає в міру збільшення тривалості зупинки.
Якщо ви не використовуєте шину, яка сильно використовується, і часто мають проміжки між кадрами, можливо, варто просто почекати виникнення одного з цих прогалин, а потім вибрати першу передачу привіт-ло як початок вашої наступний стартовий біт.
Майте на увазі, що кількість бітів даних має бути передбачуваним, як і розмір кадру, тому навіть якщо ви використовуєте 100% ємності шини і ваш стоп-біт становить один біт, ви все одно зможете знайти Почніть біт, якщо ви наберете достатню кількість кадрів. Кожен кадр гарантовано має перехід у ньому. Біт стоп - це той, який завжди високий. Стартовий біт - той, який завжди низький. Якщо припустити, що ваші дані є випадковими (або досить випадковими), ви можете зробити щось настільки просто, як створити буфер розміром з ваш кадр, встановити кожен біт у ньому, а потім продовжувати збирати кадри та ANDing їх у цей буфер, поки у буфера не буде лише 1 біт встановлений. Цей шматочок - ваш стоп-біт. Один після нього - ваш початковий біт. Вуаля! Ви його знайшли.
Якщо ви використовуєте біт парності, іншим варіантом буде захопити дані, що вартують два кадри, вибрати перший низький біт як початковий біт, а потім обчислити контрольну суму і порівняти з бітом парності. Якщо він відповідає, то ви (напевно) знайшли початковий біт. Якщо це не так, виберіть наступний низький біт і повторюйте, поки не отримаєте хорошу контрольну суму. Якщо ви не можете знайти біт у двох кадрах даних, які перевіряються як дійсний початковий біт, то ваші дані були пошкоджені, і вам потрібно буде захопити ще два кадри.