С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Извиняюсь, чуть подзадержался. Результаты теста:
Код:=================================== BRKT3 - Test COM-port BREAK Part #3 =================================== Ask HX Server for 50 ms BREAK.. «000»00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 10000000 00000000 10000001 00000000 10000001 00000000 10000001 00000000 10000001 00000000 10000001 00000000 10000001 00000000 10000001 00000000 10000001 00000000 10000001 00000000 10000001 00000000 10000001 00000000 10000001 00000000 10000001 00000000 10000001 00000000 10000001 00000000 10000001 00000000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 00010000 10000001 Test completed
Сколько портов - столько и признаков приёма BREAK. Единственное, что можно проверить у любого порта при приёме BREAK - это сколько раз установится признак готовности и что каждый раз будет при этом в регистре данных.
С этим определённость полная - готовность устанавливается только один раз ( если продолжительность BREAK >= времени передачи одного бита ), а содержимое регистра данных определяется фазой передачи байта в момент установки BREAK - если никакой байт в этот момент не передавался и BREAK был установлен дольше, чем принимается байт на выбранной скорости приёмника - в момент установки бита готовности в регистре данных приёмника будет ноль.
PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
BRKT3
PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
Ловко я придумал послать ноль для тайминга, но учесть, что он тоже попадёт в лог - забыл.
Быстро бит BREAK ставится - похоже, даже быстрее, чем передаётся один бит. А вот бит переполнения чего-то ждёт..
Сейчас повышу разрешение, чтобы точнее определить задержку установки бита BREAK.
---------- Post added at 23:18 ---------- Previous post was at 23:16 ----------
В этом случае задержки не хватило - слишком быстро SOB крутился.
Во всяком случае я проводил такой опыт. Делалось все по прерыванию, п/п обработки прерывания сохраняла значения регистра состояния и читала регистр данных. Несмотря на то, что для выполнения прерывания нужно положить два слова в стек, прочесть вектор и значение вектора из памяти (два слова) - в сохраненном регистре состояния был установлен только бит готовности. Уже после прерывания и завершения сигнала BREAK в регистре статуса были установлены биты ошибки стоп-бита и переполнения, бит готовности был сброшен.
Версия теста с повышенным разрешением - для УКНЦ:
BRKT3a.
...
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)