<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Vladimir V. Leonidov Personal Blog &#187; electronics</title>
	<atom:link href="http://leonidov.su/tag/electronics/feed/" rel="self" type="application/rss+xml" />
	<link>http://leonidov.su</link>
	<description>Blog about nothing</description>
	<lastBuildDate>Wed, 07 Sep 2011 16:24:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Инверторы напряжения</title>
		<link>http://leonidov.su/2009/08/13/%d0%b8%d0%bd%d0%b2%d0%b5%d1%80%d1%82%d0%be%d1%80%d1%8b-%d0%bd%d0%b0%d0%bf%d1%80%d1%8f%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f/</link>
		<comments>http://leonidov.su/2009/08/13/%d0%b8%d0%bd%d0%b2%d0%b5%d1%80%d1%82%d0%be%d1%80%d1%8b-%d0%bd%d0%b0%d0%bf%d1%80%d1%8f%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 20:02:26 +0000</pubDate>
		<dc:creator>Rainer</dc:creator>
				<category><![CDATA[Электроника]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[блок питания]]></category>
		<category><![CDATA[инверторы]]></category>
		<category><![CDATA[трансформаторы]]></category>

		<guid isPermaLink="false">http://leonidov.su/?p=452</guid>
		<description><![CDATA[Инверторы &#8211; устройства, преобразовывающие постоянный ток в переменный. Правда, иногда этот термин используется в более широком смысле и также охватывает понятие &#8220;конверторы&#8221; &#8211; устройства, &#8220;трансформирующие&#8221; постоянное напряжение. Например, для преобразования постоянных 12В в 19В. В этой статье пойдёт речь об одном из типов инверторов &#8211; инвертор с насыщающимся трансформатором. Основная схема такого инвертора на биполярных [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Инверторы</strong> &#8211; устройства, преобразовывающие постоянный ток в переменный. Правда, иногда этот термин используется в более широком смысле и также охватывает понятие &#8220;конверторы&#8221; &#8211; устройства, &#8220;трансформирующие&#8221; постоянное напряжение. Например, для преобразования постоянных 12В в 19В.</p>
<p>В этой статье пойдёт речь об одном из типов инверторов &#8211; инвертор с насыщающимся трансформатором.<br />
Основная схема такого инвертора на биполярных транзисторах представлена ниже:</p>
<p><a href="http://leonidov.su/wp-content/uploads/2009/08/invertor_2.png" rel="lightbox[452]"><img src="http://leonidov.su/wp-content/uploads/2009/08/invertor_2-192x300.png" alt="Инвертор напряжения" title="Инвертор напряжения" width="192" height="300" class="aligncenter size-medium wp-image-457" /></a><br />
<span id="more-452"></span><br />
В этой схеме транзисторы подключены по схеме с общим эмиттером. Другие варианты включения также возможны. Здесь есть один недостаток &#8211; эта схема без смовозбуждения. Она работать не будет :) При отсутствии большого обратного тока ни один из транзисторов не будет открыт. Поэтому для работы схемы необходимо задать смещение хотя бы на один из транзисторов, а лучше сразу на два. Прежде чем модифицировать схему, давайте всё-таки разберёмся, как она работает.</p>
<p>Т.к. мы имеем дело с насыщающимся трансформатором, его магнитопровод должен иметь прямоугольную петлю гистерезиса. Допустим, транзистор VT1 открыт, тогда питающее напряжение приложено к верхней половине первичной обмотки, а ток увеличивается по линейному закону, т.к. магнитный поток в магнитопроводе трансформатора увеличивается от соответствующего насыщению отрицательного значения <em>-Ф</em> до <em>+Ф</em>. Линейно возрастающий магнитный поток индуцирует напряжение в базовых обмотках, в результате чего появляется постоянный ток в базе транзистора VT1, а транзистор VT2 подаётся обратное смещение. Он закрыт.<br />
Когда трансформатор приближается к состоянию насыщения, скорость увеличения магнитного потока снижается, напряжение на базовой обмотке транзистора VT1 уменьшается => уменьшается и ток в базе VT1. Аналогично уменьшается обратное смещение транзистора VT2. Как только произойдёт насыщение магнитопровода, ток коллектора резко возрастёт, выводя его из состояния насыщения,  транзистор VT1 закроется, после чего сразу откроется транзистор VT2.</p>
<p>Ниже представлены графики, показывающие зависимость вышеописанных величин от времени:</p>
<p><a href="http://leonidov.su/wp-content/uploads/2009/08/inv_diag_2.png" rel="lightbox[452]"><img src="http://leonidov.su/wp-content/uploads/2009/08/inv_diag_2-263x300.png" alt="Инвертор напряжения. Зависимость величин от времени" title="Инвертор напряжения. Зависимость величин от времени" width="263" height="300" class="aligncenter size-medium wp-image-461" /></a></p>
<p>Как уже было сказано, эта схема несовершенна. Ниже представлен вариант схемы, полученный в результате двух дней экспериментов с макетной платой:</p>
<p><a href="http://leonidov.su/wp-content/uploads/2009/08/invertor_modern_2.png" rel="lightbox[452]"><img src="http://leonidov.su/wp-content/uploads/2009/08/invertor_modern_2-300x165.png" alt="Инвертор напряжения. Усовершенствованная схема." title="Инвертор напряжения. Усовершенствованная схема." width="300" height="165" class="aligncenter size-medium wp-image-467" /></a></p>
<p> Для того, чтобы избавиться от насыщения биполярных транзисторов, они были заменены на полевые. В результате мы &#8220;улучшаем форму&#8221; импульсов, избавимся от лишних потерь мощности на выходе. Резисторы R1 и R2 отвечают за самовозбуждение: они задают смещение на транзисторы VT1 и VT2. Конденсатор C1 &#8211; для стабилизации входного питания, С2 убирает пульсации в обмотках затворов.</p>
<p>И напоследок, я, пожалуй, приложу фото своей убитой многострадальной макетки:</p>
<p><a href="http://leonidov.su/wp-content/uploads/2009/08/plata.jpg" rel="lightbox[452]"><img src="http://leonidov.su/wp-content/uploads/2009/08/plata-300x225.jpg" alt="Инвертор напряжения. Макетка." title="Инвертор напряжения. Макетка." width="300" height="225" class="aligncenter size-medium wp-image-473" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://leonidov.su/2009/08/13/%d0%b8%d0%bd%d0%b2%d0%b5%d1%80%d1%82%d0%be%d1%80%d1%8b-%d0%bd%d0%b0%d0%bf%d1%80%d1%8f%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>COM-порт. Сопряжение устройств с ПК. Программирование.</title>
		<link>http://leonidov.su/2009/08/06/com-%d0%bf%d0%be%d1%80%d1%82/</link>
		<comments>http://leonidov.su/2009/08/06/com-%d0%bf%d0%be%d1%80%d1%82/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 08:00:28 +0000</pubDate>
		<dc:creator>Rainer</dc:creator>
				<category><![CDATA[Схемотехника]]></category>
		<category><![CDATA[COM-порт]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[interfaces]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[RS-232]]></category>

		<guid isPermaLink="false">http://leonidov.su/?p=344</guid>
		<description><![CDATA[Иногда приходится решать задачу связи электронного устройства с компьютером, будь то просто обмен данными или удалённое управление. Эта статья описывает, как это можно реализовать, используя последовательный порт. Главным его преимуществом является то, что стандартный программный интерфейс Windows (API) позволяет производить непосредственное управление выходными линиями, давая прямой контроль над ними, и имеет функцию ожидания некоторого события, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://leonidov.su/wp-content/uploads/2009/08/rs-232.jpg" alt="RS-232" title="rs 232" width="205" height="209" class="alignright size-full wp-image-346" /><br />
Иногда приходится решать задачу связи электронного устройства с компьютером, будь то просто обмен данными или удалённое управление. Эта статья описывает, как это можно реализовать, используя последовательный порт. Главным его преимуществом является то, что стандартный программный интерфейс Windows (API) позволяет производить непосредственное управление выходными линиями, давая прямой контроль над ними, и имеет функцию ожидания некоторого события, связанного с COM-портом. Также стандарт RS-232, по которому выполнены COM-порты, допускает подключение и отключение кабелей во время работы устройств (hot plug).</p>
<h3>Описание.</h3>
<p><strong>COM-порт (последовательный порт)</strong> &#8211; двунаправленный интерфейс, передающий данные в последовательном виде (бит за битом) по протоколу RS-232. Это довольно-таки распространённый протокол, применяемый для связи одного устройства  (например, компьютера) с другими посредством проводов длиной до 30м. Уровни логических сигналов здесь отличаются от стандартных: уровень логической единицы &#8211; от +5 до +15В, уровень логического нуля &#8211; от -5 до -15В, что требует дополнительных преобразований схемы, но обеспечивает хорошую помехоустойчивость.</p>
<p>Рассмотрим 9-пинововый разъём (DB-9M). Ниже представлена его распиновка:<br />
<img src="http://leonidov.su/wp-content/uploads/2009/08/com_pins.gif" alt="Распиновка COM-порта" title="Распиновка COM-порта" width="200" height="116" class="aligncenter size-full wp-image-354" /></p>
<style type="text/css">
table.pins {
	border-width: 1px;
	border-spacing: ;
	border-style: solid;
	border-color: gray;
	border-collapse: collapse;
	background-color: white;
}
table.pins th {
	text-align: center;
	border-width: 1px;
	padding: 3px;
	border-style: solid;
	border-color: gray;
	background-color: white;
	-moz-border-radius: ;
}
table.pins td {
	text-align: left;
	border-width: 1px;
	padding: 3px;
	border-style: solid;
	border-color: gray;
	background-color: white;
	-moz-border-radius: ;
}
</style>
<table class="pins">
<tr>
<td><strong>№ вывода</strong></td>
<td><strong>Наименование</strong></td>
<td><strong>Характер сигнала</strong></td>
<td>Сигнал</td>
</tr>
<tr>
<td>1</td>
<td>DCD</td>
<td>Входной</td>
<td>Data carrier detect</td>
</tr>
<tr>
<td>2</td>
<td>RxD</td>
<td>Выходной</td>
<td>Transmit data</td>
</tr>
<tr>
<td>3</td>
<td>TxD</td>
<td>Входной</td>
<td>Receive data</td>
</tr>
<tr>
<td>4</td>
<td>DTR</td>
<td>Выходной</td>
<td>Data terminal ready</td>
</tr>
<tr>
<td>5</td>
<td>GND</td>
<td>-</td>
<td>Ground</td>
</tr>
<tr>
<td>6</td>
<td>DSR</td>
<td>Входной</td>
<td>Data set ready</td>
</tr>
<tr>
<td>7</td>
<td>RTS</td>
<td>Выходной</td>
<td>Request to send</td>
</tr>
<tr>
<td>8</td>
<td>CTS</td>
<td>Входной</td>
<td>Clear to send</td>
</tr>
<tr>
<td>9</td>
<td>RI</td>
<td>Входной</td>
<td>Ring indicator</td>
</tr>
</table>
<p>Больше всего нас будут интересовать пины 2 (передача данных),3 (приём данных) и 5 (земля). Это минимальный набор для возможности двухстороннего общения приборов.</p>
<p>Подробно останавливаться на описании протокола не буду. Для этого есть ГОСТ&#8217;ы и т.п. Поэтому мы пойдём дальше и поговорим о том, как же управлять этим зверем.<br />
<span id="more-344"></span></p>
<h3>Применение</h3>
<p>Как уже говорилось, уровни ЛС RS-232 отличаются от стандартных уровней ТТЛ. Следовательно, нам необходимо как-то преобразовывать величины напряжений. Т.е. сделать 5В из +15В и 0В из -15В (и наоборот). Один из способов (и, наверное, самый простой) &#8211; использование специальной микросхемы MAX232. Она проста в понимании и одновременно может преобразовывать два логических сигнала.</p>
<p>Ниже приведена схема её включения:</p>
<p><a href="http://leonidov.su/wp-content/uploads/2009/08/RS232.png" rel="lightbox[344]"><img src="http://leonidov.su/wp-content/uploads/2009/08/RS232-300x166.png" alt="MAX232" title="MAX232" width="300" height="166" class="aligncenter size-medium wp-image-427" /></a></p>
<p>Думаю, трудностей быть не должно. Это один из вариантов использования этой микросхемы: передача данных с микроконтроллера на ЭВМ и наоборот. Передаваемый сигнал поступает на ножки T<em>x</em>IN с одной стороны и на R<em>x</em>IN с другой. Входные сигналы снимаются с T<em>x</em>OUT и R<em>x</em>OUT соответсвтенно.</p>
<h3>Программирование.</h3>
<p>Для начала поговорим о программировании портов на низком уровне. Так будет более правильно. Я очень много нервов потратил, разбираясь с этим интерфейсом, пока не начал вникать в принцип его работы на более низком уровне, нежели простая передача символов. Если будет понятно это, значит и с языками высокого уровня проблем не будет.</p>
<p>Ниже представлены адреса COM-портов, с которыми нам придётся работать:<br />
<center></p>
<table class="pins">
<tr>
<td><strong>Название порта</strong></td>
<td><strong>Адрес</strong></td>
<td><strong>IRQ</strong></td>
<p></TR> </p>
<tr>
<td>COM 1 </td>
<td> 3F8h </td>
<td>4</td>
</tr>
<tr>
<td>COM 2 </td>
<td> 2F8h </td>
<td>3</td>
</tr>
<tr>
<td>COM 3 </td>
<td> 3E8h </td>
<td>4</td>
</tr>
<tr>
<td>COM 4 </td>
<td> 2E8h </td>
<td>3</td>
</tr>
</table>
<p></center><br />
Они могут различаться. Установить значения можно в настройках BIOS&#8217;а. Это базовые адреса. От них же и будут зависеть адреса регистров, отвечающие за работу портов:</p>
<table class="pins">
<tr>
<td><strong>Адрес</strong></td>
<td><strong>DLAB</strong></td>
<td><strong>Чтение/Запись</strong></td>
<td><strong>Аббревиатура</strong></td>
<td><strong>Название регистра</strong></td>
</tr>
<tr><TD rowspan = 3> + 0</td>
<td>=0</td>
<td>Write</td>
<td> &#8211; </td>
<td> Transmitter Holding Buffer </td>
</tr>
<tr>
<td>=0</td>
<td>Read</td>
<td> &#8211; </td>
<td> Receiver Buffer </td>
</tr>
<tr>
<td>=1</td>
<td>Read/Write</td>
<td> &#8211; </td>
<td> Divisor Latch Low Byte </td>
</tr>
<tr><TD rowspan = 2> + 1</td>
<td>=0</td>
<td>Read/Write</td>
<td> IER </td>
<td> Interrupt Enable Register </td>
</tr>
<tr>
<td>=1</td>
<td>Read/Write</td>
<td> &#8211; </td>
<td> Divisor Latch High Byte </td>
</tr>
<tr><TD rowspan = 2> + 2</td>
<td>-</td>
<td>Read</td>
<td> IIR </td>
<td> Interrupt Identification Register</td>
</tr>
<tr>
<td>-</td>
<td>Write</td>
<td> FCR </td>
<td> FIFO Control Register </td>
</tr>
<tr>
<td> + 3</td>
<td>-</td>
<td>Read/Write</td>
<td> LCR </td>
<td> Line Control Register </td>
</tr>
<tr>
<td> + 4</td>
<td>-</td>
<td>Read/Write</td>
<td> MCR </td>
<td> Modem Control Register </td>
</tr>
<tr>
<td> + 5</td>
<td>-</td>
<td>Read</td>
<td> LSR </td>
<td> Line Status Register </td>
</tr>
<tr>
<td> + 6</td>
<td>-</td>
<td>Read</td>
<td> MSR </td>
<td> Modem Status Register </td>
</tr>
<tr>
<td> + 7</td>
<td>-</td>
<td>Read/Write</td>
<td> &#8211; </td>
<td> Scratch Register </td>
</tr>
</table>
<p>Первая колонка &#8211; адрес регистра относительно базового. Например, для COM1: адрес регистра LCR будет 3F8h+3=3FB. Вторая колонка &#8211; DLAB (Divisor Latch Access Bit) бит, определяющий разное назначение для одного и того же регистра.. Т.е. он позволяет оперировать 12-ю регистрами, используя всего 8 адресов. Например, если DLAB=1, то, обращаясь по адресу 3F8h, мы будем устанавливать значение младшего байта делителя частоты тактового генератора. Если же DLAB=0, то, обращаясь по тому же адресу, в этот регистр будет записан передаваемый или принятый байт.</p>
<p><strong>&#8220;Нулевой&#8221; регистр</strong></p>
<p>Ему соответствуют регистры приёма/передачи данных и установки коэффициента делителя частоты генератора. Как уже было сказано выше, если DLAB=0, то регистр используется для записи принимаемых/передаваемых данных, если же он равен 1, то устанавливается значение младшего байта делителя частоты тактового генератора. От значения этой частоты зависит скорость передачи данных. Старший байт делителя записывается в следующую ячейку памяти (т.е. для порта COM1 это будет 3F9h). Ниже приведена зависимость скорости передачи данных от коэффициента делителя:</p>
<table class="pins">
<tr>
<th>Делитель</th>
<th>Скорость передачи<br />(в бодах)</th>
<th>Делитель</th>
<th>Скорость передачи<br />(в бодах)</th>
</tr>
<tr>
<td>1040</td>
<td>110</td>
<td>24</td>
<td>4800</td>
</tr>
<tr>
<td>768</td>
<td>150</td>
<td>12</td>
<td>9600</td>
</tr>
<tr>
<td>384</td>
<td>300</td>
<td>6</td>
<td>19200</td>
</tr>
<tr>
<td>192</td>
<td>600</td>
<td>3</td>
<td>38400</td>
</tr>
<tr>
<td>96</td>
<td>1200</td>
<td>2</td>
<td>57600</td>
</tr>
<tr>
<td>48</td>
<td>2400</td>
<td>1</td>
<td>115200</td>
</tr>
</table>
<p><strong>Interrupt Enable Register (IER)</strong></p>
<p>Если DLAB=0, то он используется как регистр управления прерываниями от асинхронного адаптера, если DLAB=1,  то в нём задаётся старший байт делителя частоты тактового генератора.</p>
<table class="pins">
<tr>
<th>Бит</th>
<th>Значение</th>
</tr>
<tr>
<td>0</td>
<td>1 &#8211; разрешемие прерывания при готовности принимаемых данных.</td>
</tr>
<tr>
<td>1</td>
<td>1 &#8211; разрешение прерывания после передачи байта (когда выходной выходной буфер передачи пуст).</td>
</tr>
<tr>
<td>2</td>
<td>1 &#8211; разрешение прерывания по обнаружении состояния &quot;BREAK&quot; или ошибки.</td>
</tr>
<tr>
<td>3</td>
<td>1 &#8211; разрешение прерывания по изменению на разъёме RS-232C.</td>
</tr>
<tr>
<td>4-7</td>
<td>Не используются, должны быть равны 0.</td>
</tr>
</table>
<p><strong>Interrupt Identification Register (IIR)</strong></p>
<p>Прерывание &#8211; это событие, при котором останавливается выполнение основной программы и начинается выполнение процедуры прерываний. Этот регистр определяет тип произошедшего прерывания.</p>
<table class="pins">
<tr>
<th>Бит</td>
<th>Значение</td>
</tr>
<tr>
<td>0</td>
<td>1 &#8211; нет прерываний, ожидающих обслуживания.</td>
</tr>
<tr>
<td rowspan=3>1-2</td>
<td>00 &#8211; переполнение приёмника, ошибка чётности или формата данных, или при состоянии &quot;BREAK&quot;. Сбрасывается после чтения состояния линии и порта 3FDh.</td>
</tr>
<tr>
<td>01 &#8211; данные приняты и доступны для чтения. Сбрасывается после после чтения регистра LSR. </td>
</tr>
<tr>
<td>11 &#8211; Состояние модема. Устонавливается при изменении состояния входных линий CTS, RI, DCD, DSR. </td>
</tr>
<tr>
<td>3-7</td>
<td>Равны 0.</td>
</tr>
</table>
<p><b>Line Control Register (LCR)</b></p>
<p>Это управляющий регистр.</p>
<table class="pins">
<tr><TD rowspan = 2>Бит 7</td>
<td>1<TD colspan = 3>Divisor Latch Access Bit &#8211; задание скорости обмена данными</td>
</tr>
<tr>
<td>0<TD colspan = 3>Обычнй режим (управление прерываниями, приём/передача данных)</td>
</tr>
<tr>
<td>Бит 6</td>
<p><TD colspan = 4>Имитировать обрыв линии (посылает последовательность из нескольких нулей)</td>
</tr>
<tr><TD rowspan = 6>Биты 3 &#8211; 5</td>
<p><TD width="8%">Бит 5</td>
<p><TD width="8%">Бит 4</td>
<p><TD width="8%">Бит 3</td>
<td>Выбор чётности</td>
</tr>
<tr>
<td>X</td>
<td>X</td>
<td>0</td>
<td>No Parity </td>
</tr>
<tr>
<td>0</td>
<td>0</td>
<td>1</td>
<td>Odd Parity </td>
</tr>
<tr>
<td>0</td>
<td>1</td>
<td>1</td>
<td>Even Parity </td>
</tr>
<tr>
<td>1</td>
<td>0</td>
<td>1</td>
<td>High Parity (Sticky)</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>Low Parity (Sticky)</td>
</tr>
<tr><TD rowspan = 3>Бит 2</td>
<p><TD colspan = 4>Кол-во стоп-битов</td>
</tr>
<tr>
<td>0<TD colspan = 3>1 стоп-бит</td>
</tr>
<tr>
<td>1<TD colspan = 3>2 стоп-бита при 6,7 или 8 бит данных или 1.5 стоп-бита при 5 битах данных.</td>
</tr>
<tr><TD rowspan = 5>Биты 0 And 1</td>
<td>Бит 1</td>
<td>Бит 0</td>
<p><TD colspan = 2>Число битов данных</td>
</tr>
<tr>
<td>0</td>
<td>0</td>
<p><TD colspan = 2>5 бит </td>
</tr>
<tr>
<td>0</td>
<td>1</td>
<p><TD colspan = 2>6 бит </td>
</tr>
<tr>
<td>1</td>
<td>0</td>
<p><TD colspan = 2>7 бит </td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<p><TD colspan = 2>8 бит </td>
</tr>
</table>
<p>Проверка чётности подразумевает под собой передачу ещё одного бита &#8211; бита чётности.  Его значение устанавливается таким образом, чтобы в пакете битов общее количество единиц (или нулей) было четно или нечетно, в зависимости от установки регистров порта. Этот бит служит для обнаружения ошибок, которые могут возникнуть при передаче данных из-за помех на линии. Приемное устройство заново вычисляет четность данных и сравнивает результат с принятым битом четности. Если четность не совпала, то считается, что данные переданы с ошибкой.</p>
<p>Стоп-бит означает окончание передачи данных.</p>
<p><b>Modem Control Register (MCR)</b></p>
<p> Регистр управления модемом.</p>
<table class="pins">
<tr>
<th>Бит</th>
<th>Значение</th>
</tr>
<tr>
<td>0</td>
<td>Линия DTR</td>
</tr>
<tr>
<td>1</td>
<td>Линия RTS.</td>
</tr>
<tr>
<td>2</td>
<td>Линия OUT1 (запасная)</td>
</tr>
<tr>
<td>3</td>
<td>Линия OUT2 (запасная)</td>
</tr>
<tr>
<td>4</td>
<td>Запуск диагностики при входе асинхронного адаптера, замкнутом на его выход.</td>
</tr>
<tr>
<td>5-7</td>
<td>Равны 0</td>
</tr>
</table>
<p><b>Line Status Register (LSR)</b></p>
<p>Регистр, определяющий состояние линии.</p>
<table class="pins">
<tr>
<th>Бит</th>
<th>Значение</th>
</tr>
<tr>
<td>0</td>
<td>Данные получены и готовы для чтения, автоматически сбрасывается при чтении данных.</td>
</tr>
<tr>
<td>1</td>
<td>Ошибка переполнения. Был принят новый байт данных, а предыдущий ещё не был считан программой. Предыдущий байт потерен.</td>
</tr>
<tr>
<td>2</td>
<td>Ошибка чётности, сбрасывается после чтения состояния линии.</td>
</tr>
<tr>
<td>3</td>
<td>Ошибка синхронизации.</td>
</tr>
<tr>
<td>4</td>
<td>Обнаружен запрос на прерывание передачи &quot;BREAK&quot; &#8211; длинная строка нулей.</td>
</tr>
<tr>
<td>5</td>
<td>Регистр хранения передатчика пуст, в него можно записать новый байт для передачи.</td>
</tr>
<tr>
<td>6</td>
<td>Регистр сдвига передатчика пуст. Этот регистр получает данные из регистра хранения и преобразует их в последовательный вид для передачи.</td>
</tr>
<tr>
<td>7</td>
<td>Тайм-аут (устройство не связано с компьютером).</td>
</tr>
</table>
<p><b>Modem Status Register (MSR)</b></p>
<p>Регистр состояния модема.<br />
<center><br />
<table class="pins">
<tr>
<th>Бит</th>
<th>Значение</th>
</tr>
<tr>
<td>0</td>
<td>Изменилось состояние линии CTS</td>
</tr>
<tr>
<td>1</td>
<td>Изменилось состояние линии DSR</td>
</tr>
<tr>
<td>2</td>
<td>Изменилось состояние линии IR</td>
</tr>
<tr>
<td>3</td>
<td>Изменилось состояние линии DCD</td>
</tr>
<tr>
<td>4</td>
<td>Состояние линии CTS</td>
</tr>
<tr>
<td>5</td>
<td>Состояние линии DSR</td>
</tr>
<tr>
<td>6</td>
<td>Состояние линии IR</td>
</tr>
<tr>
<td>7</td>
<td>Состояние линии DCD</td>
</tr>
</table>
<p></center></p>
<p>Ну вот и всё. Оперируя этими регистрами, можно напрямую общаться с COM-портом, управлять передачей и приёмом данных. Если вам не хочется возиться с памятью, можно воспользоваться уже готовыми компонентами для различных сред программирования: C++, VB, Delphi, Pascal и т.д. Они интуитивно понятны, поэтому, думаю, здесь не стоит заострять на них внимание.</p>
]]></content:encoded>
			<wfw:commentRss>http://leonidov.su/2009/08/06/com-%d0%bf%d0%be%d1%80%d1%82/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Типы корпусов радиоэлементов</title>
		<link>http://leonidov.su/2009/08/01/%d1%82%d0%b8%d0%bf%d1%8b-%d0%ba%d0%be%d1%80%d0%bf%d1%83%d1%81%d0%be%d0%b2-%d1%80%d0%b0%d0%b4%d0%b8%d0%be%d1%8d%d0%bb%d0%b5%d0%bc%d0%b5%d0%bd%d1%82%d0%be%d0%b2/</link>
		<comments>http://leonidov.su/2009/08/01/%d1%82%d0%b8%d0%bf%d1%8b-%d0%ba%d0%be%d1%80%d0%bf%d1%83%d1%81%d0%be%d0%b2-%d1%80%d0%b0%d0%b4%d0%b8%d0%be%d1%8d%d0%bb%d0%b5%d0%bc%d0%b5%d0%bd%d1%82%d0%be%d0%b2/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 11:18:45 +0000</pubDate>
		<dc:creator>Rainer</dc:creator>
				<category><![CDATA[Электроника]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[Справочник]]></category>

		<guid isPermaLink="false">http://leonidov.su/?p=324</guid>
		<description><![CDATA[Полезная штука. Около полусотни типов корпусов элементов (микросхем, транзисторов и т.п.)! (Кликабельно) Неожиданно? :) Да, это первый пост, имеющий отношение к электронике в этом блоге. Может быть, и не последний.]]></description>
			<content:encoded><![CDATA[<p>Полезная штука. Около полусотни типов корпусов элементов (микросхем, транзисторов и т.п.)!</p>
<p><a href="http://leonidov.su/wp-content/uploads/2009/08/korpusa-elementov.gif" rel="lightbox[324]"><img src="http://leonidov.su/wp-content/uploads/2009/08/korpusa-elementov-221x300.gif" alt="Корпуса микросхем, транзисторов и т.п." title="Корпуса микросхем, транзисторов и т.п." width="221" height="300" class="aligncenter size-medium wp-image-325" /></a><br />
<center><em>(Кликабельно)</em></center></p>
<p>Неожиданно? :) Да, это первый пост, имеющий отношение к электронике в этом блоге. Может быть, и не последний.</p>
]]></content:encoded>
			<wfw:commentRss>http://leonidov.su/2009/08/01/%d1%82%d0%b8%d0%bf%d1%8b-%d0%ba%d0%be%d1%80%d0%bf%d1%83%d1%81%d0%be%d0%b2-%d1%80%d0%b0%d0%b4%d0%b8%d0%be%d1%8d%d0%bb%d0%b5%d0%bc%d0%b5%d0%bd%d1%82%d0%be%d0%b2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

