Точно! В случае с BREAK - именно так и есть.
Значит ли это, что если скорость передающего порта меньше скорости принимающего и вместо стопового бита пришёл бит данных - готовность приёма наступит, а если скорость передающего порта больше скорости принимающего и вместо стопового бита пришло неопределённое состояние - готовность приёма не наступит.
Вобщем вот описание битов KDJ11-B SLU. Вполне можно прочитать неоднозначно по крайней мере при моем знании языка
В любом случае, понятно что имеется в виду и для реализации вполне достаточно.
Код:TKS === Bit(s) Name Status Function ------- --------------- --------------- ------------------------------------------------------------ <15:12> Not used RO Read as zeros. 11 RCV ACT RO The RCV ACT bit is set by the start bit of the serial input data and is cleared by the stop bit at the end of the serial input data. The RX DONE bit is set by the next bit time after RCV ACT is cleared. <10:8> Not used RO Read as zeros. 7 RX DONE RO The RX DONE bit is set when a character is received and is ready to be read from the RBUF register. The bit is cleared by reading the RBUF register and by power-up. 6 RX IE RW The RX IE bit is set when RXIRQ is enabled and a program interrupt is requested while RX DONE is set with this bit. The bit is cleared by BUS INIT and by power-up. <5:0> Not used RO Read as zeros. TKB === Bit(s) Name Status Function ------- --------------- --------------- ------------------------------------------------------------ 15 ERR RO The ERR bit is set when the OVR ERR bit or the FRM ERR. bit is set. This bit does not generate a program interrupt and is clear when both of these bits are clear. 14 OVR ERR RO The OVR ERR bit is set when a previous character was received but was not read before it was overwritten by the current character. 13 FRM ERR RO The FRM ERR bit is set when the current character has no stop bit. This bit is used to detect breaks. 12 Not used RO Read as zero. 11 RCV BRK RO The RCV BRK bit is set when the end of the serial data input remains in the space condition for all 11 bits. The bit remains set until the serial data input returns to the mark condition. <10:8> Not used RO Read as zeros. <7:0> Input data RO These eight bits are an ASCII character read as input when RCSR bit 7 is set. TPS === Bit(s) Name Status Function ------- --------------- --------------- ------------------------------------------------------------ <15:8> Not used RO Read as zeros. 7 TX RDY RO The TX RDY bit is set when the XBUF is cleared and can receive another character. The bit is cleared when the XBUF is full. It is also set by power-up and by BUS INIT. 6 TX IE RW The TX IE bit is set when TXIRQ is enabled and a program interrupt is requested while TX RDY is set with this bit. The bit is cleared by BUS INIT and by power-up. <5:3> Not used RO Read as zeros. 2 MAINT RW The maintenance bit is set during a self-test that disconnects the external serial input and connects it to the internal serial output. This bit is cleared by BUS INIT and by power-up. 1 Not used RO Read as zero. 0 XMIT BRK RW The XMIT BRK bit is set when the output serial data is forced into the space condition. The bit is cleared by BUS INIT and by power-up. TPB === Bit(s) Name Status Function ------- --------------- --------------- ------------------------------------------------------------ <15:8> Not used NA Read as zeros. <7:0> Output data WO These eight bits are an ASCII character transmitted as output when XCSR bit 7 is set.
---------- Post added at 00:15 ---------- Previous post was at 00:12 ----------
А черт его знает. Но одно из применений функции BREAK - подстройка параметров линии под терминал. В описании UNIX можно найти эту процедуру. Правда работает это только на мультиплексорах - у DL(V)11 нет нужного функционала.
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
Сейчас распознаю qbus interfaces для удобства - это единственное описание (кроме внутренностей) по DLV11-J которое я нашел и там вроде расписаны биты которые он использует...
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
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
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 срабатывает только на все нули. Иначе как его собственно отличить от frame error каковым break сам по себе тоже является
---------- Post added at 00:35 ---------- Previous post was at 00:34 ----------
А байт, как мы видим, первый и он же последний обычно...
Правда у меня CM7209 есть который шлет BREAK пока не скажешь чтобы перестал...
---------- Post added at 00:37 ---------- Previous post was at 00:35 ----------
Кстати надо будет еще терминалы подключить и посмотреть что они передают.
VT220 к примеру передает длинный 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
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)