Как получить 5 вольт от порта rs-232

RS-232 – последовательный интерфейс (COM-порт)

При таком способе данные передаются последовательно, по одному проводу бит за битом. Формат посылки – 1 байт данных, а также некоторое количество контрольных бит, при этом не все из них обязательно должны присутствовать при передаче.

Обмен информацией между периферийным устройством и компьютером по интерфейсу RS232 двусторонний, поэтому данные могут как считываться компьютером из периферийного устройства, так и отправляться компьютером в периферийное устройство.

В большинстве компьютеров установлен специальный коммуникационный разъем(COM-порт); в некоторых компьютерах может быть два (СОМ1 и COM2) или более COM-портов. К порту компьютера подключается кабель данных для связи с периферийным устройством. Кабель состоит из нескольких проводников, которые называют линиями последовательного интерфейса.

На рис. 1 показан формат данных, отправляемых по линии данных TxD интерфейса RS232.

Как видно из рисунка, передача начинается со стартового бита, затем передается от пяти до восьми бит данных, далее следует необязательный бит паритета или четности и завершают передачу один или два стоповых бита. На практике чаще всего используется 8 бит данных; два стоп-бита (для большей надежности при высоких скоростях обмена).

Состояние линии интерфейса RS232 при отсутствии передачи называется Mark (отметка), состояние линии при начале передачи (стартовый бит) — Space (пробел). Низкий уровень напряжения относительно “земли” на линии в состоянии Mark соответствует от -3 до -15 В, высокий уровень напряжения линии в состоянии Space – от +3 до +15 В. В интервале -3…+3 В состояние линии не определено.

На практике чаще всего высокий уровень напряжения составляет около +10 В, низкий — около -10 В. Иногда напряжения могут быть уменьшены соответственно до +5 и -5 В.

Такие значения используются, когда от интерфейса не требуется высокая скорость передачи, а устройство, которое обменивается данными с компьютером по линии RS232, имеет автономное питание от батареи и критично к расходу энергии.

Чтобы избежать путаницы, договоримся условно называть логическим нулем низкий уровень напряжения на линии интерфейса в состоянии Mark (-10 В) и логической единицей — высокий уровень на линии в состоянии Space (+10 В). Такие уровни логического нуля и единицы не соответствуют стандартным.

Во-первых, стандартный высокий TTL-уровень, или логическая единица, соответствует +5 В, низкий уровень, или логический ноль, соответствует 0 В. Можно увидеть явную аналогию по соответсвующим уровням напряжений.

Во-вторых, при подаче высокого TTL-уровня (логическая единица) на вход передатчика RS232 на его выходе получаем низкий уровень напряжения (логический ноль). По этой причине довольно часто состояние Mark называют логической единицей, что может привести к путанице.

И, наконец, в-третьих, при программировании интерфейса RS232 в компьютере, например, для установки на линии DTR высокого уровня напряжения, необходимо установить бит, управляющий линией DTR, в 1 (out 3fch,l).

Кроме уровней напряжений линии интерфейса RS232 важной характеристикой также является скорость изменений состояний из логической единицы в логический ноль и обратно, т.е. длительностью фронта и длительностью спада сигнала. Значения длительности связаны со скоростью обмена, которая измеряется в битах в секунду (или в бодах).

Максимальная возможная скорость обмена по линии RS232 составляет 115200 бод (для компьютера). Если используется пакет из 8 бит данных без контроля по паритету и с одним стоповым битом, то вместе со стартовым битом такой пакет будет состоять из 10 бит.

Нетрудно подсчитать, что в этом случае время передачи каждого бита будет равно около 8,68 мкс.

В соответствующих справочных данных – datasheet производители микросхем – преобразователей уровней RS232 указывают скорость обмена конкретной модели преобразователя, или скорость изменения сигналов из логической единицы в логический ноль и обратно. Значение этой скорости в большинстве случаев должно быть больше или равно 30 В/мкс.

Вот как осуществляется передача по линии одного импульса, длительность которого соответствует времени передачи 1 бита при скорости обмена 115200 бод.

При уровнях логической единицы и логического нуля соответственно +10 и -10 В и скорости изменения состояний линии из логического нуля в логическую единицу и обратно, равной 30 В/мкс, длительность фронта и спада импульса будет равна (каждая) около 0,67 мкс (в сумме 1,33 мкс).

Таким образом, длительность состояния линии в логической единице будет 8,68 – 1,33 = 7,35 мкс, что будет соответствовать примерно 84,7% длительности всего импульса. Превышение длительностей фронта и спада импульса и, как следствие, уменьшение данного процентного соотношения может привести к срыву обмена и потере данных.

Необходимо отметить, что далеко не все микросхемы – преобразователи уровней интерфейсов RS232 способны обеспечить столь высокую скорость обмена данными, хотя некоторые микросхемы могут работать даже значительно быстрее, передавая данные на скоростях до 460 кбод.

Еще одна особенность заключается в том, что высокую скорость обмена данных в 115 кбод могут обеспечить только высокоскоростные оптроны (если речь идет о гальванической развязке).

На практике в промышленных устройствах чаще всего используются следующие скорости обмена: 9600, 115200 и 57600 бод .

 Распиновка – расположение контактов в разъеме RS-232 DB9 и DB25.

Адреса по умолчанию для COM портов: COM1=3f8h, COM2=2f8h, COM3=3e8h, COM4=2e8h. COM1 занимает адресное простанство от 3f8h до 3ffh

Установка скорости обмена. В порт с адресом 3fbh записываем байт 80h, затем в 3f8h – младший байт делителя максимально возможной скорости 115200, далее в порт 3f9h старший байт делителя. Старший байт используется редко и служит для установки малых скоростей. 

Узнайте условия проведения наладки автоматики, отправив запрос на mail@prom-electric.ru

Наши услуги:

Источник: https://prom-electric.ru/articles/3/289/

Подключение питания RS-232 сканеров штрихкода Metrologic от COM порта

Источник: http://ocvita.ru/content/view/25/

Последовательный интерфейс RS-232 | РОБОТОША

Последовательный интерфейс RS-232 — это промышленный стандарт для последовательной двунаправленной асинхронной передачи данных.

Ранее использовался в персональных компьютерах для подключения принтеров, модемов, мыши и пр.

В настоящее время активно вытесняется пришедшим ему на смену интерфейсом USB, однако в микроконтроллерных системах — это один из наиболее часто встречающихся интерфейсов.

Спецификации RS-232C не огpаничивают максимальнyю длинy кабеля, но огpаничивают максимальное значение его емкости величиной 2500 пф. Емкость интеpфейсных кабелей pазлична, однако общепpинятой длиной yдовлетвоpяющей данной спецификации считается длина 15 метров (до 20000 бод) Чем выше скоpость пеpедачи, тем больше искажения сигнала, вызванные емкостными хаpактеpистиками кабеля.

Выпyскаются специальные интеpфейсные кабели пpямой связи RS-232C низкой емкости, котоpые yдовлетвоpительно pаботают со скоpостью 9600 бод на pасстоянии до 150 м.

Число подключаемых пpиемников и пеpедатчиков подключаемых к одной линии — 1/1, (в отличие от стандаpтов RS-422 1 передатчик/ 10 пpиемников или RS-485 32/32).

В отличие от параллельного порта, состоящего из восьми информационных линий и за один так передающего байт, порт RS-232 требует наличия только одной такой линии, по которой последовательно передается бит за битом. Это позволяет сократить количество информационных линий для передачи данных между устройствами, но уменьшает скорость.

Последовательная передача данных

Последовательный поток данных состоит из битов синхронизации и собственно битов данных. Формат последовательных данных содержит четыре части: стартовый бит, биты данных (5-8 бит), проверочный и стоповый биты; вся эта конструкция иногда называется символом. На рисунке изображен типичный формат последовательных данных.

Формат последовательных данных, формируемых UART

Когда данные не передаются, на линии устанавливается уровень логической единицы. Это называется режимом ожидания. Начало режима передачи данных характеризуется передачей уровня логического нуля длительностью в одну элементарную посылку. Такой бит называется стартовым.

Биты данных посылаются последовательно, причем младший бит — первым; всего их может быть от пяти до восьми. За битами данных следует проверочный бит, предназначенный для обнаружения ошибок, которые возникают во время обмена данными.

Последней передается стоповая посылка, информирующая об окончании символа. Стоповый бит передается уровнем логической единицы. Длительность стоповой посылки — 1, 1.5 или 2 тактовых интервала.

Электронное устройство, которое генерирует и принимает последовательные данные, называется универсальным асинхронным приемопередатчиком (Universal Asynchronous Receiver Transmitter, или UART).

Обмен информацией с помощью UART происходит следующим образом:

  • приемник обнаруживает первый фронт стартового бита и выжидает один или полтора тактовых интервала, поскольку считывание должно начаться точно в середине первой посылки;
  • через один тактовый интервал считывается второй бит данных, причем это происходит точно в середине второй посылки;
  • после окончания информационного обмена приемник считывает проверочный бит для обнаружения ошибок и стоповый бит;
  • приемник переходит в режим ожидания следующей порции данных.

Скорость передачи информации в последовательном интерфейсе измеряется в бодах (бод — количество передаваемых битов за 1 секунду). Стандартные скорости равны 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200 бод и т.д. Зная скорость в бодах, можно вычислить число передаваемых символов в секунду.

Например, если имеется восемь бит данных без проверки на четность и один стоповый бит, то общая длина последовательности, включая стартовый бит, равна 10. Скорость передачи символов соответствует скорости в бодах, деленной на 10. Таким образом, при скорости 9600 бод (см.

рисунок выше) будет передаваться 960 символов в секунду.

Проверочный бит предназначен для обнаружения ошибок в передаваемых битах данных. Когда он присутствует, осуществляется проверка на четность или нечетность.

Если интерфейс настроен на проверку по четности, такой бит будет выставляться в единицу при нечетном количестве единиц в битах данных, и наоборот. Это простейший пособ проверки на наличие одиночных ошибок в передаваемом блоке данных.

Однако, если во время передачи искажению подверглись несколько битов, подобная ошибка не обнаруживается.

Проверочный бит генерируется передающим UART таким образом, чтобы общее количество удиниц было нечетным или четным числом в зависимости от настройки интерфейса;  приемное устройство должно иметь такую же настройку. Приемный UART считает количество единиц в принятых данных. Если данные не проходят проверку, генерируется сигнал ошибки.

 В UART применяются уровни напряжения ТТЛ. Для передачи данных по каналу связи напряжение с помощью специализированных преобразователей конвертируется с инверсией: логическому нулю соответствует диапазон напряжений от +3 до +12В, логической единице — от -3 до -12В.

Разъемы RS-232 и соединение устройств

Основными разъемами, применяемыми с портом RS-232 являются DB-9S и DB-25S. На рисунке показана распиновка разъема DB-9.

Номера пинов 9-контактного разъема

а в таблице показано соответсвие сигналов контактам RS-232 для 9-ти и 25-ти контактных разъемов и их функции на компьютере

Статья про то, как избавиться от внешнего блока питания.

Сканеры есть с интерфейсом RS-232 и клавиатурным. Есть также сканеры с инерфейсом USB, но, по крайней мере все те, что мне попадались, фактически были либо USB HID устройством (т.е. фактически клавиатурным, но с разъемом USB, либо RS-232 сканером, к которому производитель добавил преобразователь USB-COM (USB Virtual COM port).

При использовании с компьютером и программой 1C предпочтительно использование сканера с интерфейсом RS-232 или USB Virtual COM. Дело в том, что штатная компонента для работы со сканером штрихкодов (по крайней мере текущая версия 8.0.8.4) “клавиатурные” сканеры вообще не поддерживает.

То есть работать “клавиатурный” сканер конечно будет, но с рядом ограничений (должно быть активно окно программы 1С, в нем активна форма с активным поле ввода данных).

Иными словами, оператор перед каждым сканированием штрихкода должен выполнять определенное действие (активизировать поле ввода), что снижает производительность труда.

С RS-232 сканерами такого не происходит, так как их работа обеспечивается компонентой 1С:Сканер штрихкода. Она работает самостоятельно, поэтому главное – чтобы 1С была вообще запущена. Штрихкоды будут обрабатываться, даже если активно другое приложение.

Но COM порт имеет одну особенность: в отличие от клавиатурного и USB портов, он не предусматривает подачу на подключенное устройство питания.

Конечно можно брать питание от одной из сигнальных линий, но этого хватает только для совсем маломощных устройств, вроде компьютерных мышек.

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

Вот если блок питания был нормального размера, то его еще можно было бы потерпеть. А то обычно прилагаются такие, что хоть за голову хватайся. Например, в комплекте к достаточно дорогому Metrologic (теперь – Honeywell) MS1690 (стоимостью на 01.06.2010 порядка 13 т.р.

) идет блок питания не иначе как из стратегических запасов времен войны в Въетнаме, да и кабель 220V у него такой что можно электроплиту подключать. (Для сравнения – справа обычный блок питания от сотового телефона, выдающий такое же напрядение: 5V и даже больший ток: 1А против 0.

65А у метролоджиковского):

Этот блок питания нередко откровенно “мешается” на рабочем месте пользователя.

Особенно плохая ситуация получается, когда сканер надо подключить к ноутбуку, и приходится использовать еще и кабель-переходник USB-COM.

К тому же ноутбук стоит на столе а не под столом – в результате перед нами уже 4 кабеля – кабель сканера, кабель USB-COM, кабель к блоку питания и кабель 220V самого блока питания.

Вобщем увидев всю эту кучу проводов на своем столе я сразу озадачился тем, каким образом от этого блока питания избавиться. Изучив параметры сканера (5,2V, макс.

потребляемый ток 400 ма, средний 150 ма) возникла мысль вывести двумя проводками питание из переходника USB-COM, припаять к нему штекер, который и воткнуть вместо блока питания сканера.

Немного смутила меня правда разводка на этом разъеме – “плюс” почему-то был снаружи (уж не сидит ли он на земле?), но прозвонив интерфейсный кабель сканера, а успокоился – земля была там, где ей и положено быть – на минусе.

И тут я обнаружил в приведенной в инструкции схему одну интересную вещь – а именно разводку разъема RS-232 интерфейсного кабеля (53-53000-3) сканера:

Контакт Назначение
1 Ground
2 RS232 Transmit Output
3 RS232 Receive Output
4 DTR Input/Light Pen Source
5 Power/Signal Ground
6
7 CTS Input
8 RTS Output
9 +5V

То есть +5V уже заботливо подключено Метролоджиком / Ханивеллом в разъем COM порта на 9 ножку. Иными словами, достаточно подключить +5V на эту же ножку со стороны компьютера – и блок питания больше не нужен.

В моем случае сканер подключался к переходнику USB-COM:

Я разобрал этот переходник и припаял проводок между +5V от USB и этой самой 9й ножкой.

Отключил сканер от блока питания, подключил к переходнику, воткнул переходник в USB – заморгали светодиоды и сканер пропищал, подтверждая свою готовность к работе.

Ну, Metrologic MS1690 – устройство достаточно редкое, а как быть с популярными MS51xx Eclipse или MS95xx Voyager? Судя по документации – точно также.

Возможно ли что что-нибудь повредится ли что-нибудь в компьютере от подачи +5 В на 9ю ногу COM-порта? Думаю, что это маловероятно, т.к. когда Вы подключаете блок питания сканера, то эти самые +5V все равно попадают туда (с блока питания сканера). А вот другие устройства к переделанному разъему наверное подключать не стоит.

Примечательно, что напрямую про возможность питания от COM ни в инструкции к MS1690, ни в инструкции к MS95xx вообще ничего не сказано.

25 контактов 9 контактов Наименование Направление Описание
1 PROT Защитное заземление
2 3 TD Выход Передаваемые данные
3 2 RD Вход Принимаемые данные
4 7 RTS Выход Запрос на передачу
5 8 CTS Вход Очищен для передачи
6 6 DSR Вход Готовность внешнего устройства
7 5 GND Сигнальное заземление
8 1 DCD Вход Обнаружение информационного сигнала
20 4 DTR Выход Готовность к обмену данными
22 9 RI Вход Индикатор звонка
23 DSRD Вход/Выход Детектор скорости передачи данных

Соединение между компьютером и внешним устройством по протоколу RS-232 производится, как правило, используя, так называемое, нуль-модемное соединение.

Возможно также соединение, использующее только три линии: первая для передачи данных, вторая — для приема и третья — в качестве общего проводника.

Соединение организуется таким образом, что передаваемые данные от первого устройства поступают на приемную линию второго.

Соединение устройств по протоколу RS-232

В системах с микроконтроллерами используется второй тип соединения.

Назначение сигналов

Сигнал Назначение
PROT Защитное заземление. Соединяется с металлическим экраном кабеля и корпусом оборудования
GND Линия заземления. Общий провод для всех сигналов
TD Передаваемые данные. Последовательные данные передаются компьютером по этой линии
RD Принимаемые данные. Последовательные данные принимаются компьютером по этой линии
RTS Запрос на передачу. Линия взаимодействия, которая показывает, что компьютер готов к приему данных. Линия управляется со стороны компьютера; если взамодействия не требуется, она может использоваться как двоичный выход
CTS Готовность к передаче. Линия взаимодействия, с помощью которой внешнее устройство сообщает компьютеру, что оно готово к передаче данных. Если взаимодействия не требуется, она может использоваться как двоичный вход
DTR Компьютер готов. Линия взаимодействия показывает, что компьютер включен и готов к связи. Линия управляется со стороны компьютера; если взаимодействия не требуется, она может использоваться как двоичный выход
DSR Готовность внешнего устройства. Линия взаимодействия, с помощью которой внешнее устройство сообщает компьютеру, что оно включено и готово к связи. Если взаимодействия не требуется, она может использоваться как двоичный вход

 

Источник: http://robotosha.ru/electronics/rs-232.html

Интерфейс RS-232 (COM-порт)

Описание интерфейса RS-232, формат используемых разъемов и назначение выводов, обозначения сигналов, протокол обмена данными.

Общее описание

Интерфейс RS-232, совсем официально называемый “EIA/TIA–232–E”, но более известный как интерфейс “COM-порта”, ранее был одним из самых распространенных интерфейсов в компьютерной технике.

Он до сих пор встречается в настольных компьютерах, несмотря на появление более скоростных и “интеллектуальных” интерфейсов, таких как USB и FireWare.

К его достоинствам с точки зрения радиолюбителей можно отнести невысокую минимальную скорость и простоту реализации протокола в самодельном устройстве.

Физический интерфейс реализуется одним из двух типов разъемов: DB-9M или DB-25M, последний в выпускаемых в настоящее время компьютерах практически не встречается.

Назначение выводов 9-контактного разъема

9-контактная вилка типа DB-9M Нумерация контактов со стороны штырьков

Направление сигналов указано относительно хоста (компьютера)

25-контактная вилка типа DB-25M Нумерация контактов со стороны штырьков

Направление сигналов указано относительно хоста (компьютера)

Из таблиц видно, что 25-контактный интерфейс отличается наличием полноценного второго канала приема-передачи (сигналы, обозначенные “#2”), а также многочисленных дополнительных управляющих и контрольных сигналов. Однако, часто, несмотря на наличие в компьютере “широкого” разъема, дополнительные сигналы на нем просто не подключены.

Электрические характеристики

Логические уровни передатчика: “0” – от +5 до +15 Вольт, “1” – от -5 до -15 Вольт.

Логические уровни приемника: “0” – выше +3 Вольт, “1” – ниже -3 Вольт.

Максимальная нагрузка на передатчик: входное сопротивление приемника не менее 3 кОм.

Данные характеристики определены стандартом как минимальные, гарантирующие совместимость устройств, однако реальные характеристики обычно существенно лучше, что позволяет, с одной стороны, питать маломощные устройства от порта (например, так спроектированы многочисленные самодельные data-кабели для сотовых телефонов), а с другой – подавать на вход порта инвертированный TTL-уровень вместо двуполярного сигнала.

Описание основных сигналов интерфейса

CD – Устройство устанавливает этот сигнал, когда обнаруживает несущую в принимаемом сигнале. Обычно этот сигнал используется модемами, которые таким образом сообщают хосту о обнаружении работающего модема на другом конце линии.

RXD – Линия приема хостом данных от устройства. Подробно описана в разделе “Протокол обмена данными”.

TXD – Линия передачи хостом данных к устройству. Подробно описана в разделе “Протокол обмена данными”.

DTR – Хост устанавливает этот сигнал, когда готов к обмену данными. Фактически сигнал устанавливается при открытии порта коммуникационной программой и остается в этом состоянии все время, пока порт открыт.

DSR – Устройство устанавливает этот сигнал, когда включено и готово к обмену данными с хостом. Этот и предыдущий (DTR) сигналы должны быть установлены для обмена данными.

RTS – Хост устанавливает этот сигнал перед тем, как начать передачу данных устройству, а также сигнализирует о готовности к приему данных от устройства. Используется при аппаратном управлении обменом данными.

CTS – Устройство устанавливает этот сигнал в ответ на установку хостом предыдущего (RTS), когда готово принять данные (например, когда предыдущие присланные хостом данные переданы модемом в линию или есть свободное место в промежуточном буфере).

RI – Устройство (обычно модем) устанавливает этот сигнал при получении вызова от удаленной системы, например при приеме телефонного звонка, если модем настроен на прием звонков.

Протокол обмена данными

В протоколе RS-232 существуют два метода управления обменом данных: аппаратный и программный, а также два режима передачи: синхронный и асинхронный.

Протокол позволяет использовать любой из методов управления совместно с любым режимом передачи.

Также допускается работа без управления потоком, что подразумевает постоянную готовность хоста и устройства к приему данных, когда связь установлена (сигналы DTR и DSR установлены).

Аппаратный метод управления реализуется с помощью сигналов RTS и CTS. Для передачи данных хост (компьютер) устанавливает сигнал RTS и ждет установки устройством сигнала CTS, после чего начинает передачу данных до тех пор, пока сигнал CTS установлен.

Сигнал CTS проверяется хостом непосредственно перед началом передачи очередного байта, поэтому байт, который уже начал передаваться, будет передан полностью независимо от значения CTS.

В полудуплексном режиме обмена данными (устройство и хост передают данные по очереди, в полнодуплексном режиме они могут делать это одновременно) снятие сигнала RTS хостом означает его переход в режим приема.

Программный метод управления заключается в передаче принимающей стороной специальных символов остановки (символ с кодом 0x13, называемый XOFF) и возобновления (символ с кодом 0x11, называемый XON) передачи.

При получении данных символов передающая сторона должна соответственно остановить передачу или возобновить ее (при наличии данных, ожидающих передачи).

Этот метод проще с точки зрения реализации аппаратуры, однако обеспечивает более медленную реакцию и соответственно требует заблаговременного извещения передатчика при уменьшении свободного места в приемном буфере до определенного предела.

Синхронный режим передачи подразумевает непрерывный обмен данными, когда биты следуют один за другим без дополнительных пауз с заданной скоростью. Этот режим COM-портом не поддерживается.

Асинхронный режим передачи состоит в том, что каждый байт данных (и бит контроля четности, в случае его наличия) “оборачивается” синхронизирующей последовательностью из одного нулевого старт-бита и одного или нескольких единичных стоп-битов. Схема потока данных в асинхронном режиме представлена на рисунке.

Один из возможных алгоритмов работы приемника следующий:

  1. Ожидать уровня “0” сигнала приема (RXD в случае хоста, TXD в случае устройства).
  2. Отсчитать половину длительности бита и проверить, что уровень сигнала все еще “0”
  3. Отсчитать полную длительность бита и текущий уровень сигнала записать в младший бит данных (бит 0)
  4. Повторить предыдущий пункт для всех остальных битов данных
  5. Отсчитать полную длительность бита и текущий уровень сигнала использовать для проверки правильности приема с помощью контроля четности (см. далее)
  6. Отсчитать полную длительность бита и убедиться, что текущий уровень сигнала “1”.
  7. Вернуться к ожиданию начала следующего байта данных (шаг 1)

Протокол имеет ряд переменных параметров, которые должны быть приняты одинаковыми на стороне приемника и на стороне передатчика для успешного обмена данными:

  • Скорость обмена данными задается в битах в секунду, определяя длительность одного бита, выбирается из ряда стандартных значений (300, 1200, 2400, 4800, 9600, 19200, 38400, 57600), но могут быть и нестандартными, если поддерживаются обеими сторонами;
  • Количество бит данных может быть от 4 до 8;
  • Контроль четности может быть четным (“even”, когда общее число единичных битов в принятых данных, включая сам бит четности, должно быть четным), нечетным (“odd”, когда общее число единичных битов в принятых данных, включая сам бит четности, должно быть четным) или вообще отсутствовать;
  • Длина стоп-бита может составлять одну, полторы или две длительности бита.

Источник: http://www.denvo.ru/pub/hardware/rs-232.html

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}