<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1812210</guid>
        <pubDate>Fri, 21 Dec 2007 12:31:59 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1812210</link>
        <description><![CDATA[Radagast: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>пропускаем загрузку регистра передатчика и на выход.</div></div><br>
а на выходе подготовка к приему след. 100 байт и ожидание<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>даже того, что написал и прерывания прицепил - достаточно</div></div><br>
надо, чтобы прога работала...потому что на данный момент что-то не пашет :( данные с компа уходят, а прога на принимающем компе виснет на Listening... так что хочется быть уверенным, что причина не в АСМ коде. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2007-12-21T15:41:05+03:00">21.12.07, 12:41</time></span></span><br>
я правильно понимаю, что BREQ - переход по метке, если числа равны?]]></description>
        <author>Radagast</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1812196</guid>
        <pubDate>Fri, 21 Dec 2007 12:26:21 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1812196</link>
        <description><![CDATA[medved_68: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1812021'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-21T10:58:01+00:00">21.12.07, 10:58</time></span><div class='quote '>и куда это запихнуть? и потом pop&#39;ить? и что такое регистр флагов?  </div></div><br>
Перед началом обработки прерывания. Флаги - флаг нуля, переполнения переноса, частичного переноса и т.д.<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1812021'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-21T10:58:01+00:00">21.12.07, 10:58</time></span><div class='quote '>переход по метке mudre при каждом прерывании &quot;регистр данных UART&#39;a пуст&quot; - при передаче данных.</div></div><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1810808'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-20T14:59:08+00:00">20.12.07, 14:59</time></span><div class='quote '><div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">mudre: &nbsp;LD x1, Z+</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;out UDR, x1</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;inc x2</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;cpi x2, 100</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;BREQ recpr</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;reti</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script></div></div> Если равно 100 - пропускаем загрузку регистра передатчика и на выход. А на выходе бесконечный цикл...и прерываний от передатчика больше не будет и? :D Так и будет крутиться, бедняга. :D Хотя для этого:<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1812021'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-21T10:58:01+00:00">21.12.07, 10:58</time></span><div class='quote '>Дальнейшего развития у проги не будет - сдам и <strong class='tag-b'>забуду, как страшный сон </strong></div></div> даже того, что написал и прерывания прицепил - достаточно, здесь я полностью с тобой согласен. :D]]></description>
        <author>medved_68</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1812021</guid>
        <pubDate>Fri, 21 Dec 2007 10:58:01 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1812021</link>
        <description><![CDATA[Radagast: <strong class='tag-b'>medved_68</strong><br>
1. наверно вопрос прозвучит диким, но - зачем? :unsure: в данном случае я такой необходимости не вижу. Дальнейшего развития у проги не будет - сдам и забуду, как страшный сон :)<br>
и что конкретно Вы имеете в виду? <br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">push sreg</div></ol></div></div></div></div><br>
и куда это запихнуть? и потом pop&#39;ить? и что такое регистр флагов? :blink: <br>
<br>
2. <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>узнает, что все передано и что то нужно далее делать</div></div><br>
переход по метке mudre при каждом прерывании &quot;регистр данных UART&#39;a пуст&quot; - при передаче данных.<br>
есть отдельные блоки для подготовки приема и передачи - с обнулением счетчика и настройкой UART&#39;a, вроде все логично связано...]]></description>
        <author>Radagast</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1811453</guid>
        <pubDate>Fri, 21 Dec 2007 05:41:04 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1811453</link>
        <description><![CDATA[medved_68: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1810808'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-20T14:59:08+00:00">20.12.07, 14:59</time></span><div class='quote '>Компилится нормально, но я так и не увидел, где в симуляторе AVR Studio можно имитировать сигнал на RXD, так что перед прошивкой выложу код.</div></div><br>
Нет эмуляции передачи. Ты можешь эмулировать прерывание (если разрешено) записав в приемный регистр байт, который якобы пришел на порт и в отладчике просмотреть по шагам работу программы (отклик на прерывание). <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1810808'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-20T14:59:08+00:00">20.12.07, 14:59</time></span><div class='quote '>Глянь плиз, может глазами увидишь какие-то логические ошибки.</div></div><br>
1. Главное правило - сохраняй ВСЕ регистры при переходе по вектору прерывания, вплоть до регистров статуса и флагов. У тебя этого нет.<br>
2. Идем по логике - принял на скорости 2400, передал на 4800, а если в цикле??? Каким макаром главная программа, которая крутиться в бесконечном цикле:<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1810808'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-20T14:59:08+00:00">20.12.07, 14:59</time></span><div class='quote '><div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">wait: &nbsp; rjmp wait</div></ol></div></div></div></div>       </div></div> узнает, что все передано и что то нужно далее делать, например, опять вернуть скорость порта назад (для дальнейшего приема) или залечь в Sleep для экономии энергии??? Я понимаю, что ты пока учишься, но ТАКИЕ вещи (оставление &quot;черных ходов&quot;) для &quot;себя любимого&quot;, чтобы облегчить себе дальнейшую жизнь при наращивании прошивки - надо закладывать сразу, это фундамент. :) Да и препод, зацепившись за это, начнет задавать вопросы в ЭТОМ русле, а не в другом, а ты к ним готов&#33; :D Надеюсь - мысль понятно оформил? ;)]]></description>
        <author>medved_68</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1810835</guid>
        <pubDate>Thu, 20 Dec 2007 15:16:14 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1810835</link>
        <description><![CDATA[AlexJ: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1805689'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-17T09:09:58+00:00">17.12.07, 09:09</time></span><div class='quote '>А теперь вопросы:<br>
1) Я правильно понимаю, что ,как правило, COM1, который юзается и для передачи, и для приема на др компе, на матке находится выше, чем СОМ2 (если смотреть на заднюю стенку)?</div></div><br>
Не всегда, лучше ссылаться на документацию к матке.<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
2) Реально ли вообще передавать данные чисто через TXD/RXD, без вникания в протокол и использования служебных пинов типа DCD, DTR или WinAPI без них откажется просто отсылать/считывать сигнал по TXD/RXD с заданной частотой(с учетом стартового, стопового и паритетного бита)? А можно ли с использованием ассемблерной вставки получить доступ к этим пинам напрямую?</div></div><br>
<br>
Реально. Поставить на портах перемычки на DTR-DSR и RTS-CTS или отключить их проверку программно.<br>
<br>
Насчет прямого доступа к портам, в принципе можно и под NT5+ через драйвера <br>
<a class='tag-url' href='http://www.pcports.ru/articles/3.php' target='_blank'>giveIO</a>, <a class='tag-url' href='http://www.zealsoftstudio.com/ntport/' target='_blank'>ntport</a>,<br>
<a class='tag-url' href='http://www.internals.com/' target='_blank'>WinIO</a><br>
но для совместимости ИМХО лучше по максимуму держаться подальше от таких решений.]]></description>
        <author>AlexJ</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1810808</guid>
        <pubDate>Thu, 20 Dec 2007 14:59:08 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1810808</link>
        <description><![CDATA[Radagast: <strong class='tag-b'>medved_68</strong> спасибо :)<br>
предыдущая прога заработала нормально (выкидывал 0)<br>
сегодня написал прогу собственно по курсачу. Компилится нормально, но я так и не увидел, где в симуляторе AVR Studio можно имитировать сигнал на RXD, так что перед прошивкой выложу код. Глянь плиз, может глазами увидишь какие-то логические ошибки.<br>
Принцип работы такой - через UART принимается 100 байт данных на скорости 2400 бит/с, записываются в SRAM, а потом передаются через TXD на скорости 4800 бит/с. <br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">.include &quot;2313def.inc&quot;</div><div class="code_line">.def x1=r16 &nbsp; &nbsp; &nbsp; &nbsp; ;accumulator</div><div class="code_line">.def x2=r17 &nbsp; &nbsp; &nbsp; &nbsp; ;byte counter up to 100</div><div class="code_line">&nbsp;</div><div class="code_line">.org 0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;; вектора прерываний</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;rjmp Reset &nbsp; &nbsp;</div><div class="code_line">.org &nbsp; &nbsp;URXCaddr</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;rjmp mrxc &nbsp; ;interrupt RXC</div><div class="code_line">.org &nbsp; &nbsp;UDREaddr</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;rjmp mudre &nbsp;;interrupt UDRE</div><div class="code_line">&nbsp;</div><div class="code_line">RESET:</div><div class="code_line">&nbsp;&nbsp; &nbsp;ldi x1,ramend &nbsp; ;stack define</div><div class="code_line">&nbsp;&nbsp; &nbsp;out spl,x1</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">recpr: &nbsp;ldi x1,0b10010000 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;подготовка к приему</div><div class="code_line">&nbsp;&nbsp; &nbsp;;бит7-RX Complete Interrupt Enable</div><div class="code_line">&nbsp;&nbsp; &nbsp;;бит6-TX Complete Interrupt Enable</div><div class="code_line">&nbsp;&nbsp; &nbsp;;бит5-UART Data Register Empty Interrupt Enable </div><div class="code_line">&nbsp;&nbsp; &nbsp;;бит4-Receiver Enable</div><div class="code_line">&nbsp;&nbsp; &nbsp;;бит3-Transmitter Enable</div><div class="code_line">&nbsp;&nbsp; &nbsp;;бит2-9 Bit Characters</div><div class="code_line">&nbsp;&nbsp; &nbsp;;бит1-Receive Data Bit 8</div><div class="code_line">&nbsp;&nbsp; &nbsp;;бит0-Transmit Data Bit 8</div><div class="code_line">&nbsp;&nbsp; &nbsp;out UCR,X1</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;ldi x1,191 &nbsp;; при кварце 7.3728МГц, скорость =2400</div><div class="code_line">&nbsp;&nbsp; &nbsp;out UBRR,x1</div><div class="code_line">&nbsp;&nbsp; &nbsp;ldi zh,0 &nbsp; &nbsp;;инициализация адреса ОЗУ</div><div class="code_line">&nbsp;&nbsp; &nbsp;ldi zl,</div><div class="code_line">&nbsp;&nbsp; &nbsp;ldi x2,0 &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;sei</div><div class="code_line">&nbsp;</div><div class="code_line">wait: &nbsp; rjmp wait &nbsp; ;infinite cycle</div><div class="code_line">;-------------------------------------</div><div class="code_line">trapr: &nbsp;ldi x1,0b00101000 ;подготовка к передаче</div><div class="code_line">&nbsp;&nbsp; &nbsp;out UCR,X1</div><div class="code_line">&nbsp;&nbsp; &nbsp;ldi x1,95 &nbsp; ; при кварце 7.3728МГц, скорость =4800</div><div class="code_line">&nbsp;&nbsp; &nbsp;out UBRR,x1</div><div class="code_line">&nbsp;&nbsp; &nbsp;ldi zh,0 &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;ldi zl,</div><div class="code_line">&nbsp;&nbsp; &nbsp;ldi x2,0</div><div class="code_line">&nbsp;&nbsp; &nbsp;sei</div><div class="code_line">&nbsp;&nbsp; &nbsp;rjmp trans</div><div class="code_line">;-------------------------------------</div><div class="code_line">&nbsp;</div><div class="code_line">mrxc: &nbsp; in x1, UDR ;прием</div><div class="code_line">&nbsp;&nbsp; &nbsp;st Z+, x1</div><div class="code_line">&nbsp;&nbsp; &nbsp;inc x2</div><div class="code_line">&nbsp;&nbsp; &nbsp;cpi x2, 100</div><div class="code_line">&nbsp;&nbsp; &nbsp;BREQ trapr</div><div class="code_line">&nbsp;&nbsp; &nbsp;reti</div><div class="code_line">;-------------------------------------</div><div class="code_line">trans: ;передача</div><div class="code_line">mudre: &nbsp;LD x1, Z+</div><div class="code_line">&nbsp;&nbsp; &nbsp;out UDR, x1</div><div class="code_line">&nbsp;&nbsp; &nbsp;inc x2</div><div class="code_line">&nbsp;&nbsp; &nbsp;cpi x2, 100</div><div class="code_line">&nbsp;&nbsp; &nbsp;BREQ recpr</div><div class="code_line">&nbsp;&nbsp; &nbsp;reti</div></ol></div></div></div></div>]]></description>
        <author>Radagast</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1809982</guid>
        <pubDate>Thu, 20 Dec 2007 05:54:19 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1809982</link>
        <description><![CDATA[medved_68: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1809158'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-19T13:01:47+00:00">19.12.07, 13:01</time></span><div class='quote '>а какие вольтажи для AT90S2313 соответствуют &quot;1&quot; и &quot;0&quot; ? в документации я не нашел </div></div><br>
0.3 - 0.8В для &quot;0&quot;, 70%VCC - для &quot;1&quot;. Стандарты соответствуют уровням CMOS технологии, поэтому в даташитах обычно опускается. :)]]></description>
        <author>medved_68</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1809158</guid>
        <pubDate>Wed, 19 Dec 2007 13:01:47 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1809158</link>
        <description><![CDATA[Radagast: <strong class='tag-b'>medved_68</strong> а какие вольтажи для AT90S2313 соответствуют &quot;1&quot; и &quot;0&quot; ? в документации я не нашел :(]]></description>
        <author>Radagast</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808924</guid>
        <pubDate>Wed, 19 Dec 2007 10:19:01 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808924</link>
        <description><![CDATA[medved_68: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1808891'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-19T09:59:53+00:00">19.12.07, 09:59</time></span><div class='quote '>скажите еще плиз, чем отличается jmp от rjmp? судя по описанию в прогах для перехода на метку нужно юзать jmp, так же как и в ASM8086, но в примерах прог я везде вижу rjmp </div></div><br>
А где ты в даташите увидел инструкцию jmp??? :) rjmp - это короткий переход высчитывается смещением от места вызова (относительный), до 80Н - вперед, свыше назад + 1 к программному счетчику.<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1808891'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-19T09:59:53+00:00">19.12.07, 09:59</time></span><div class='quote '>medved_68 хорошо, я выброшу ноль, только объясните, что значит умное слово &quot;импеданс&quot;? оно как-то выражается в вольтах? </div></div><br>
Отключен, или Z-состояние. Вольтметром ловится порядка 3 - 3.8В - достаточно, чтобы сделать вывод: &quot;Ага, единица&#33;&#33;&#33;&quot;, но на деле это не так. Осциллографом - если в момент контакта с пином тронуть шину пальцем - видно на экране шум, чего не бывает при достоверном логическом уровне. :)]]></description>
        <author>medved_68</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808891</guid>
        <pubDate>Wed, 19 Dec 2007 09:59:53 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808891</link>
        <description><![CDATA[Radagast: скажите еще плиз, чем отличается jmp от rjmp? судя по описанию в прогах для перехода на метку нужно юзать jmp, так же как и в ASM8086, но в примерах прог я везде вижу rjmp <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2007-12-19T10:01:32+00:00">19.12.07, 10:01</time></span></span><br>
<strong class='tag-b'>medved_68</strong> хорошо, я выброшу ноль, только объясните, что значит умное слово &quot;импеданс&quot;? оно как-то выражается в вольтах?]]></description>
        <author>Radagast</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808875</guid>
        <pubDate>Wed, 19 Dec 2007 09:51:06 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808875</link>
        <description><![CDATA[medved_68: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1808873'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-19T09:47:57+00:00">19.12.07, 09:47</time></span><div class='quote '>medved_68 ой...так &quot;в состоянии покоя&quot; на ножке TXD высокий потенциал? </div></div><br>
Нет, это импеданс. По сбросу нога подключена к порту D - режим ввод. Поэтому и говорю - выбрось ноль. :D И увидишь, что ничего не измениться.]]></description>
        <author>medved_68</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808873</guid>
        <pubDate>Wed, 19 Dec 2007 09:47:57 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808873</link>
        <description><![CDATA[Radagast: <strong class='tag-b'>medved_68</strong> ой...так &quot;в состоянии покоя&quot; на ножке TXD высокий потенциал? :(<br>
про очередь - спасибо за совет, это мне пригодится, когда буду полноценную прогу писать. Т.е. сегодня :)]]></description>
        <author>Radagast</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808814</guid>
        <pubDate>Wed, 19 Dec 2007 09:07:53 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808814</link>
        <description><![CDATA[medved_68: <strong class='tag-b'>Radagast</strong> выкинь лучше на порт ноль, и проверяй замером напряжения нога передатчика - питание. Так поймаешь если импеданс. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2007-12-19T09:08:57+00:00">19.12.07, 09:08</time></span></span><br>
А про очередь передатчика - игнор? :D]]></description>
        <author>medved_68</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808799</guid>
        <pubDate>Wed, 19 Dec 2007 08:55:11 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808799</link>
        <description><![CDATA[Radagast: <strong class='tag-b'>medved_68</strong> я отредактил пост, глянь плиз :)<br>
теперь все норм компилится, отослал HEX на прошивку... <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2007-12-19T08:55:52+00:00">19.12.07, 08:55</time></span></span><br>
у меня есть этот инклуд]]></description>
        <author>Radagast</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808783</guid>
        <pubDate>Wed, 19 Dec 2007 08:47:07 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808783</link>
        <description><![CDATA[medved_68: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1808736'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-19T08:03:54+00:00">19.12.07, 08:03</time></span><div class='quote '>что готовый проект компилится нормально, а те же самые команды, которые я написал, вызывают ошибку? </div></div><br>
Есть такая директива - include. При помощи этой директивы подключается файл где есть такое:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">UBRR equ 0x0009;</div></ol></div></div></div></div> и т.д. Этим ты даешь понять компилятору, что метку UBRR нужно заменить на адрес регистра 09Н. Иначе:<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1808736'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-19T08:03:54+00:00">19.12.07, 08:03</time></span><div class='quote '>Illegal argument type or count</div></div><br>
тебе же русским языком говорят, что плохой, неизвестный и т.п. аргумент. :D Если ты не знаешь, где этот файл подключен (нет исходника работающего кода и т.д.), то изволь вручную набить в начале своей программы все эквиваленты регистров или же оперировать не мнемоникой (типа UBRR), а реальными адресами в НЕХ коде. :) <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1808736'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-19T08:03:54+00:00">19.12.07, 08:03</time></span><div class='quote '>а как это решается? Оо разве загрузки регистров UBRR и UCR недостаточно?</div></div><br>
А каким битом ты его включаешь и где? :)]]></description>
        <author>medved_68</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808736</guid>
        <pubDate>Wed, 19 Dec 2007 08:03:54 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808736</link>
        <description><![CDATA[Radagast: <strong class='tag-b'>medved_68</strong> я не уверен, что получится достать осциллограф, хотелось бы просто увиделть +5 В на вольтметре, т.е. постоянную логич. &quot;1&quot; (ятп логич &quot;0&quot; это ~0 В) - на выходе TXD и примерно -10 В на выходе MAX232 - убедиться, что МК вообще работает и прошивается.<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>модуль USART не включен - выводы контроллера работают как биты порта D, причем на ввод (по умолчанию после сброса).</div></div>а как это решается? Оо разве загрузки регистров UBRR и UCR недостаточно? при том, что по умолчанию все прерывания отключены <br>
<br>
я исправил код:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">.include &quot;2313def.inc&quot; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;ldi r16,95 &nbsp;;4800 bauds, 7.3728 MHz</div><div class="code_line">&nbsp;&nbsp; &nbsp;out UBRR,r16</div><div class="code_line">&nbsp;&nbsp; &nbsp;sbr r16, 3 &nbsp;;transmit enable</div><div class="code_line">&nbsp;&nbsp; &nbsp;out UCR,r16</div><div class="code_line">&nbsp;&nbsp; &nbsp;ldi r16, 0xFF &nbsp; ;output &quot;1&quot;</div><div class="code_line">LOOP: &nbsp; out UDR, r16</div><div class="code_line">&nbsp;&nbsp; &nbsp;rjmp LOOP</div></ol></div></div></div></div>]]></description>
        <author>Radagast</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808632</guid>
        <pubDate>Wed, 19 Dec 2007 05:52:01 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808632</link>
        <description><![CDATA[medved_68: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1808019'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-18T14:14:29+00:00">18.12.07, 14:14</time></span><div class='quote '>а код-то из 9го поста правильный? </div></div><br>
Нет. При таком раскладе модуль USART не включен - выводы контроллера работают как биты порта D, причем на ввод (по умолчанию после сброса). Попытка вывести байт FFH даже при включенном USART - максимум, что ты увидишь на экране осциллографа - высокий уровень, за который (ошибочно) можно принять и импеданс (особенно если на выходе будет вход МАХ&quot;а). :) Что бы четко увидеть - рекомендую передавать 55Н - будешь наблюдать перепады уровня на выходе. :D <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2007-12-19T06:00:59+00:00">19.12.07, 06:00</time></span></span><br>
Еще маленькое но. Передачу следующего символа (загрузку регистра передатчика) нужно производить <span class='tag-u'>не ранее</span> окончания передачи предыдущего, о чем тебя известит прерывание от передатчика (которое нужно настроить и, соответственно, разрешить + написать обработчик, расположенный по нужному вектору) т.к. очередь передатчика не резиновая и состоит всего из одного дополнительного регистра - следовательно передача различных байт в таком виде приведет к потере 3 байта, о чем тебя тоже известит регистр статуса передатчика, который ты и не подумал проверить перед подачей в передатчик очередного байта. :D Вывод - нужно более &quot;трепетно&quot; относится к рекомендациям разработчиков, которые они &quot;доносят&quot; до нас в даташитах. :D]]></description>
        <author>medved_68</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808019</guid>
        <pubDate>Tue, 18 Dec 2007 14:14:29 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1808019</link>
        <description><![CDATA[Radagast: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>МАХ232,SD232 - микросхемы конвертеры </div></div><br>
спасибо, попробую заюзать :)<br>
а код-то из 9го поста правильный?]]></description>
        <author>Radagast</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1807081</guid>
        <pubDate>Tue, 18 Dec 2007 05:58:31 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1807081</link>
        <description><![CDATA[medved_68: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1806778'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-17T19:29:59+00:00">17.12.07, 19:29</time></span><div class='quote '>т.е. придется еще лепить кучу транзисторов для преобразования?  </div></div><br>
МАХ232,SD232 - микросхемы конвертеры - и ничего &quot;лепить&quot; не нужно. :D <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1806778'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-17T19:29:59+00:00">17.12.07, 19:29</time></span><div class='quote '>или можно как-то программно заставить МК работать по-другому? </div></div><br>
Насколько я знаю - нет. Но даташит на контроллер обязан прояснить эту ситуацию. :)]]></description>
        <author>medved_68</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1806778</guid>
        <pubDate>Mon, 17 Dec 2007 19:29:59 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1806778</link>
        <description><![CDATA[Radagast: Итак, пока что тестируем МК сам по себе. Хочу посмотреть на тестере, что выдается на TXD при работе UART&#39;a. Такой ведь код правильный?<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">.DEVICE AT90S2313 </div><div class="code_line">.CSEG</div><div class="code_line">&nbsp;&nbsp; &nbsp;LDI UBRR, 95 &nbsp; &nbsp;;4800 bauds, clock 7.3728 MHz</div><div class="code_line">&nbsp;&nbsp; &nbsp;SBR UCR, 3 &nbsp;;transmit enable</div><div class="code_line">&nbsp;&nbsp; &nbsp;LDI R0, 0xFF &nbsp; &nbsp;;output &quot;1&quot;</div><div class="code_line">LOOP: &nbsp; LDI UDR, R0</div><div class="code_line">&nbsp;&nbsp; &nbsp;JMP LOOP</div></ol></div></div></div></div><br>
и еще одна вещь меня очень беспокоит...<br>
логическая &quot;1&quot; для CОМ порта это от -3 до -12 В, &quot;0&quot; от +3 до +12 В<br>
а вот для ОМК (и UART&#39;a ? ) &quot;0&quot; это скорее всего 0 В, а &quot;1&quot; где-то 5 В<br>
в офиц документации точных цифр так и не нашел  &lt;_&lt; <br>
т.е. придется еще лепить кучу транзисторов для преобразования? или можно как-то программно заставить МК работать по-другому?]]></description>
        <author>Radagast</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1806241</guid>
        <pubDate>Mon, 17 Dec 2007 13:55:20 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1806241</link>
        <description><![CDATA[medved_68: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1805689'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-17T09:09:58+00:00">17.12.07, 09:09</time></span><div class='quote '>А можно ли с использованием ассемблерной вставки получить доступ к этим пинам напрямую?</div></div><br>
Если Win выше 98 - нет.<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1805689'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-17T09:09:58+00:00">17.12.07, 09:09</time></span><div class='quote '>как будет выглядеть Atmel ASM код, который нужно зашить в микроконтроллер? там наверно в пределах 6-7 строк.  <br>
Заранее спасибо </div></div><br>
Побольше. Настройка генератора, настройка пинов для работы в режиме порта, настройка самого порта, включение модуля порта, настройка прерывания от порта, разрешение прерывания - все это навряд ли уложится в 7 строк asm кода микроконтроллера. :D]]></description>
        <author>medved_68</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1806040</guid>
        <pubDate>Mon, 17 Dec 2007 12:36:52 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1806040</link>
        <description><![CDATA[kolobok0: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1805689'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-17T09:09:58+00:00">17.12.07, 09:09</time></span><div class='quote '>2) Реально ли вообще передавать данные чисто через TXD/RXD, без вникания в протокол и использования служебных пинов типа DCD, DTR или WinAPI без них откажется просто отсылать/считывать сигнал по TXD/RXD с заданной частотой(с учетом стартового, стопового и паритетного бита)? А можно ли с использованием ассемблерной вставки получить доступ к этим пинам напрямую?<br>
3) как будет выглядеть Atmel ASM код, который нужно зашить в микроконтроллер? там наверно в пределах 6-7 строк. :unsure: <br>
Заранее спасибо</div></div><br>
2) да... на прямую - нет...про частоту...<br>
   а) необходимо знать параметры настроек со стороны МК. Подбирать можно если Вы знаете тактовую МК, тип МК, приблизительно что передаёт (имееться ввиду сами данные)...<br>
   б) частота последовательной передачи сильно зависит от кварца служащего для тактирования МК. Лучше всего со скоростями определиться - заглянув в даташит на данный МК. Вы сможете точно определить верхнию границу тактовой...<br>
   в) после нахождения параметров связи (параметры инициализации ком порта) - рекомендую выключить буфферизацию на передачу и делать тайм-ауты между байтами. Задержку подобрать лучше экспериментально и немного увеличить. Дело в том, что буффер приёма на МК как правило в один байт. Нужно обеспечить выемку со стороны МК переданного байта. Не всегда программа на принимающей стороне реализована так, чтобы обеспечивать прохождение без доп. тимингов...<br>
3) код может выглядеть по разному...вариант а) - обслуга по прерыванию...смысл - при приёме очередного байта - прерывание которое вынимает байтик из буффера и сохраняет его в ОЗУ, либо обрабатывает - зависит от логики.. б) - обслуга по спулингу. ком порт постоянно опрашивается в некотором общем цикле для всей программы. при приходе символа - идёт сохранение в буффере и(или) обработка...<br>
<br>
передача как правило всегда синхронна, хотя опять же никто не мешает и её навертеть асинхронную...если микроконтроллер AVR - вряд ли 6,7 строк... немного поболее :))) элементарные примеры - смотрите в даташитах на тот или иной МК. Примеры, как правило, есть на азме и на сях.<br>
<br>
<br>
с уважением<br>
(круглый)<br>
ЗЫ<br>
Рекомендую заюзать обращение к порту напрямую (хотя - хз, может класс Вам и поможет). При обращении напрямую к порту - не забывайте сбрасывать статус порта (помойму после каждого приёма) - иначе может затнкуться в неподходящий момент времени...]]></description>
        <author>kolobok0</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1805854</guid>
        <pubDate>Mon, 17 Dec 2007 10:51:27 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1805854</link>
        <description><![CDATA[Radagast: <strong class='tag-b'>trainer</strong> <br>
описание класса:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">void Open( int nPort, DWORD dwBaud = 9600, Parity parity = NoParity, BYTE DataBits = 8, StopBits stopbits = OneStopBit, FlowControl fc = NoFlowControl, BOOL bOverlapped = FALSE);</div></ol></div></div></div></div><br>
Метод использующийся для контроля потока данных. Может принимать след. значения:<br>
<br>
enum FlowControl<br>
{<br>
NoFlowControl,<br>
CtsRtsFlowControl,<br>
CtsDtrFlowControl,<br>
DsrRtsFlowControl,<br>
DsrDtrFlowControl,<br>
XonXoffFlowControl<br>
}; <br>
<br>
bOverlapped TRUE если Вы хотите открыть в режиме overlapped, иначе FALSE для использования блокирующих вызовов.<br>
<br>
походу по умолчанию весь контроль отключен... :unsure: <br>
а что значит overlapped?]]></description>
        <author>Radagast</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1805846</guid>
        <pubDate>Mon, 17 Dec 2007 10:46:51 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1805846</link>
        <description><![CDATA[trainer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1805819'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-17T10:31:46+00:00">17.12.07, 10:31</time></span><div class='quote '>уточните плиз, вот тот С++ -шный код с 1го поста будет работать корректно, даже если служебные пины не задействованы?</div></div>Я не знаю внутреннего устройства CSerialPort. Чтобы не влияли DTR/DSR, RTS/CTS, XON/XOFF, надо в параметрах порта выключить программное/аппаратное управление потоком данных.]]></description>
        <author>trainer</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1805819</guid>
        <pubDate>Mon, 17 Dec 2007 10:31:46 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1805819</link>
        <description><![CDATA[Radagast: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>AT90S2313 давно снят с производства</div></div><br>
плата уже готова :) надо заставить ее работать<br>
<strong class='tag-b'>trainer</strong><br>
уточните плиз, вот тот С++ -шный код с 1го поста будет работать корректно, даже если служебные пины не задействованы?]]></description>
        <author>Radagast</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1805775</guid>
        <pubDate>Mon, 17 Dec 2007 10:02:59 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1805775</link>
        <description><![CDATA[trainer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1805689'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-17T09:09:58+00:00">17.12.07, 09:09</time></span><div class='quote '>Реально ли вообще передавать данные чисто через TXD/RXD, без вникания в протокол и использования служебных пинов типа DCD, DTR</div></div>да.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=215636&view=findpost&p=1805689'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Radagast &#064; <time class="tag-quote__quoted-time" datetime="2007-12-17T09:09:58+00:00">17.12.07, 09:09</time></span><div class='quote '>А можно ли с использованием ассемблерной вставки получить доступ к этим пинам напрямую?</div></div>нет.]]></description>
        <author>trainer</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1805728</guid>
        <pubDate>Mon, 17 Dec 2007 09:32:27 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1805728</link>
        <description><![CDATA[HardRock: 1. Обычно да, если их несколько<br>2. Точно не отвечу, не работал с СОМ портом<br>3. Код полностью зависит от того что должен делать контроллер, как построена схема, какие элементы и т.д.<br>Плюс можно писать и на сишке. Есть компиляторы C для AVR, например WinAVR (http://winavr.sourceforge.net/)<br>И ещё момент, AT90S2313 давно снят с производства. Он заменен ATTiny2313. Распиновка та же, только более современный и мощьный.]]></description>
        <author>HardRock</author>
        <category>Микроконтроллеры</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1805689</guid>
        <pubDate>Mon, 17 Dec 2007 09:09:58 +0000</pubDate>
        <title>Atmel AT90S2313 + COM порт</title>
        <link>https://forum.sources.ru/index.php?showtopic=215636&amp;view=findpost&amp;p=1805689</link>
        <description><![CDATA[Radagast: Нужно передать данные с одного компа на другой через COM порт хотя бы в симплексном режиме.<br>
Есть плата, на которой размещены контроллер Atmel AT90S2313+RS232+кварцевый генератор и кое-какие необходимые мелочи, от нее отходит два кабеля, заканчивающиеся 9-пиновым COM разъемом, в котором используется только 3 пина - TXD, RXD, GND.<br>
Софт для WinXP написан в Visual Studio C++ 6.0 с использованием класса CSerialPort, скачанного с этого сайта.<br>
Вот ключевые кусочки кода:<br>
Пересылка данных:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">CSerialPort port;</div><div class="code_line">clock_t start, finish;</div><div class="code_line">double &nbsp;duration;</div><div class="code_line">char temp[20];</div><div class="code_line">char service=&#39;$&#39;;</div><div class="code_line">port.Open(1, 2400);</div><div class="code_line">if (!port.IsOpen()) </div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;MessageBox(&quot;PORT FAILS&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;return;</div><div class="code_line">};</div><div class="code_line">port.Write(&amp;service, 1);</div><div class="code_line">start = clock();</div><div class="code_line">int Transf=port.Write(Data, Size);</div><div class="code_line">finish = clock();</div><div class="code_line">port.Write(&amp;service, 1);</div><div class="code_line">duration = (double)(finish - start) / CLOCKS_PER_SEC;</div></ol></div></div></div></div><br>
Прием данных (в др функции) :<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">CSerialPort port;</div><div class="code_line">port.Open(1,2400);</div><div class="code_line">if (!port.IsOpen()) </div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;MessageBox(&quot;PORT FAILS&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;return;</div><div class="code_line">};</div><div class="code_line">&nbsp;</div><div class="code_line">m_VEdit2=&quot;Receiving...&quot;;</div><div class="code_line">UpdateData(false);</div><div class="code_line">start = clock();</div><div class="code_line">Transf=port.Read(Data,MAXBUFFER);</div><div class="code_line">finish = clock();</div><div class="code_line">duration = (double)(finish - start) / CLOCKS_PER_SEC;</div></ol></div></div></div></div><br>
глобальные переменные:<br>
const int MAXBUFFER=1000;<br>
char Data[MAXBUFFER];<br>
int Size;<br>
А теперь вопросы:<br>
1) Я правильно понимаю, что ,как правило, COM1, который юзается и для передачи, и для приема на др компе, на матке находится выше, чем СОМ2 (если смотреть на заднюю стенку)?<br>
2) Реально ли вообще передавать данные чисто через TXD/RXD, без вникания в протокол и использования служебных пинов типа DCD, DTR или WinAPI без них откажется просто отсылать/считывать сигнал по TXD/RXD с заданной частотой(с учетом стартового, стопового и паритетного бита)? А можно ли с использованием ассемблерной вставки получить доступ к этим пинам напрямую?<br>
3) как будет выглядеть Atmel ASM код, который нужно зашить в микроконтроллер? там наверно в пределах 6-7 строк. :unsure: <br>
Заранее спасибо]]></description>
        <author>Radagast</author>
        <category>Микроконтроллеры</category>
      </item>
	
      </channel>
      </rss>
	