<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=60&amp;t=14585&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-02-20T14:24:10+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=60&amp;t=14585&amp;mode</id>
<entry>
<author><name><![CDATA[rskup]]></name></author>
<updated>2016-02-20T14:24:10+01:00</updated>
<published>2016-02-20T14:24:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14585&amp;p=154175#p154175</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14585&amp;p=154175#p154175"/>
<title type="html"><![CDATA[Re: Visual C++: serialPort-jak zaregować na zerwanie połącze]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14585&amp;p=154175#p154175"><![CDATA[
Tylko nie wiem czy będzie miał jakąś informację o liniach sterujących RTS/CTS/DTR/DSR jak wyjmiesz przejściówkę USB-RS232 z portu USB. Dlatego dlatego jak chcesz uniwersalnie, to musisz zrobić oba wykrywania <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Nie wiem jak to będzie w C++, ale pewnie podobnie do C#, a w nim kiedyś robiłem tak:<br />[syntax=csharp]protected override void WndProc(ref Message m)<br />{<br />// Trap WM_DEVICECHANGE<br />if (m.Msg == 0x219)<br />{<br />DeviceChangeNotifier_DeviceNotify();<br />}<br />base.WndProc(ref m);<br />}[/syntax]<br />gdzie DeviceChangeNotifier_DeviceNotify() to funkcja, która robi enumerację portów i sprawdza czy przypadkiem nie zniknął nasz port a przy okazji updatuje listę dostępnych portów:<br />[syntax=csharp]void DeviceChangeNotifier_DeviceNotify()<br />{<br />if (serialPortConnected)<br />{<br />string name = comboBoxPort.Text;<br />UpdateSerialPortList();<br />if (comboBoxPort.Text != name)<br />{<br />if (buttonConnect.Checked) buttonConnect.Checked = false;<br />else CloseSerialPort();<br />MessageBox.Show(&quot;Used serial port &quot; + serialPort.PortName + &quot; was removed!&quot;, Application.ProductName);<br />}<br />}<br />else UpdateSerialPortList();<br />}[/syntax]<br /><br />-- <br />Pozdrawiam,<br />Rbert<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3427">rskup</a> — 20 lut 2016, o 14:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Lagun_25]]></name></author>
<updated>2016-02-20T08:50:28+01:00</updated>
<published>2016-02-20T08:50:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14585&amp;p=154161#p154161</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14585&amp;p=154161#p154161"/>
<title type="html"><![CDATA[Re: Visual C++: serialPort-jak zaregować na zerwanie połącze]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14585&amp;p=154161#p154161"><![CDATA[
Przejściówka jest pod usb, ale wolę zrobić to bardziej uniwersalnie, nie tylko dla przejściówek z usb. Dlatego drugi sposób wydaje się bardzo dobry. Jak na razie zawsze korzystałem tylko z lini Rx i Tx, więc nie wiem nic o RTS/CTS, DTR/DSR, ale widzę w visualu właściwości DsrHolding, CtsHolding do odczytywania stanów, więc mam już jakiś punkt zaczepienia i wiadomo o czym poczytać <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4953">Lagun_25</a> — 20 lut 2016, o 08:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rskup]]></name></author>
<updated>2016-02-19T22:35:15+01:00</updated>
<published>2016-02-19T22:35:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14585&amp;p=154152#p154152</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14585&amp;p=154152#p154152"/>
<title type="html"><![CDATA[Re: Visual C++: serialPort-jak zaregować na zerwanie połącze]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14585&amp;p=154152#p154152"><![CDATA[
Co jest dla Ciebie odłączenie przejściówki? Czy chodzi Ci o przejściówkę USB - RS232 i jej wyjęcie ze złącza USB?<br /><br />Wykrycie usunięcia urządzenia USB jest proste. Wystarczy użyć WndProc() i zdarzenie WM_DEVICECHANGE.<br /><br />Jak chodzi Ci o coś innego odpinanego od portu RS232 i nie używasz linii RTS/CTS lub DTR/DSR to możesz je wykorzystać. Robisz na wyjściu zapętlenie i jak odłączysz przejściówkę to możesz to łatwo wyłapać.<br /><br />-- <br />Pozdrawiam,<br />Robert<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3427">rskup</a> — 19 lut 2016, o 22:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Lagun_25]]></name></author>
<updated>2016-02-19T22:13:57+01:00</updated>
<published>2016-02-19T22:13:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14585&amp;p=154149#p154149</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14585&amp;p=154149#p154149"/>
<title type="html"><![CDATA[Re: Visual C++: serialPort-jak zaregować na zerwanie połącze]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14585&amp;p=154149#p154149"><![CDATA[
Ciekawy pomysł. Poczekam, może ktoś inny podpowie jeszcze coś innego, a jeśli nie, to będzie można spróbować <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4953">Lagun_25</a> — 19 lut 2016, o 22:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[4MaticPL]]></name></author>
<updated>2016-02-19T20:11:33+01:00</updated>
<published>2016-02-19T20:11:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14585&amp;p=154144#p154144</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14585&amp;p=154144#p154144"/>
<title type="html"><![CDATA[Re: Visual C++: serialPort-jak zaregować na zerwanie połącze]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14585&amp;p=154144#p154144"><![CDATA[
Nigdy czegoś takiego nie robiłem ale przychodzi mi do głowy coś a'la pingowanie. Robisz sobie jakiś task który dajmy co sekunde wysyła po rsie komendę ping, jak urządzenie mu odpowie wszystko jest ok a jak nie to znaczy że połączenie zostało zerwane. Może jest jakaś gotowa funkcja od tego ale ja nie piszę w c++ na kompie więc nie wiem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2175">4MaticPL</a> — 19 lut 2016, o 20:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Lagun_25]]></name></author>
<updated>2016-02-19T19:16:25+01:00</updated>
<published>2016-02-19T19:16:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14585&amp;p=154141#p154141</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14585&amp;p=154141#p154141"/>
<title type="html"><![CDATA[Visual C++: serialPort-jak zaregować na zerwanie połączenia?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14585&amp;p=154141#p154141"><![CDATA[
Witam. Napisałem w visual c++ program do komunikacji po rsie, komunikacja działa. Chciałbym zareagować na następującą sytuację: port jest otwarty, ale nagle odłączam przejściówke rs232. Czy są do tego jakieś zdarzenia, a może jakiś sposób? Jestem początkujący i niestety nie mam pojęcia jak taki problem rozwiązać.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4953">Lagun_25</a> — 19 lut 2016, o 19:16</p><hr />
]]></content>
</entry>
</feed>