
Сообщение от
form
Можно сделать приемник и отправитель отдельно
Передатчик "кривого брейка" довольно прост.
Главное тут правильно вычислить, сколько циклов SOB приходится на одну посылку:
Код:
NVTP2: Mov #LL1, (SP)
NVTP1: RtI
......
START:
.Send #015
Mov #NVTP2, @#TPINT
Clr R0
Mov #015, @#TPB
SOB R0, .
LL1:
BiC #100, @#TPS
Mov #NVTP1, @#TPINT
Neg R0
Mov R0, R1
ASR R0
Mov R0, R2
Потом полученные задержки используются, чтобы установить BREAK в середине передачи байта:
Код:
Mov R2, R0
Mov R1, R3
Mov #377, @#TPB
TstB @#TPS
BPl .-4.
SOB R0, . ; Wait half byte send time
BiS #1, @#TPS ; Set BREAK
SOB R3, . ; Wait full byte send time
BiC #1, @#TPS ; Clear BREAK
---------- Post added at 19:29 ---------- Previous post was at 19:18 ----------

Сообщение от
Alex_K
Нисколько. Сигнал CTS ставится скорее всего при приеме 8-ми информационных бит, вместе с битом готовности, это выяснилось предыдущими тестами.
Здесь может помочь режим "лупбэка", т.к. нужно очень точно знать момент начала приёма байта. Тогда, запустив "битовый дампер" регистра статуса - можно будет точно определить в какой момент какой бит там устанавливается.
---------- Post added at 19:39 ---------- Previous post was at 19:29 ----------

Сообщение от
Keeper
BRKT2
Если открыть прогон BRKT2 на PC Alex_K, то понятно, что при приёме "простого брейка" порты PC ведут себя достаточно похоже.