<?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=56&amp;t=17401&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2019-11-26T23:12:17+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=56&amp;t=17401&amp;mode</id>
<entry>
<author><name><![CDATA[micky]]></name></author>
<updated>2019-11-26T23:12:17+01:00</updated>
<published>2019-11-26T23:12:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=223184#p223184</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=223184#p223184"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=223184#p223184"><![CDATA[
Tak - np. analizator em logicznym<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1546">micky</a> — 26 lis 2019, o 23:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2019-11-24T23:45:55+01:00</updated>
<published>2019-11-24T23:45:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=223153#p223153</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=223153#p223153"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=223153#p223153"><![CDATA[
<div class="quotetitle">felinutti napisał(a):</div><div class="quotecontent"><br />1+8+sb. Jak rozumieć tą pierwszą jedynke?<br /></div><br />A ja myślę, że trzeba zacząć od tego: <br /><br /><div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><br /><br />a nawet całą playlistę odnośnie komunikacji RS232 bym obejrzał - żeby zrozumieć podstawy - a nie - zabierać się nawet nie od środka - tylko od asemblera<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 24 lis 2019, o 23:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[micky]]></name></author>
<updated>2019-11-24T22:56:38+01:00</updated>
<published>2019-11-24T22:56:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=223152#p223152</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=223152#p223152"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=223152#p223152"><![CDATA[
Poczytaj o transmisji szeregowej. Zobacz co się znajduje przed paczką danych.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1546">micky</a> — 24 lis 2019, o 22:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rskup]]></name></author>
<updated>2018-03-08T15:08:33+01:00</updated>
<published>2018-03-08T15:08:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205196#p205196</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205196#p205196"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205196#p205196"><![CDATA[
<div class="quotetitle">faber33 napisał(a):</div><div class="quotecontent"><br />Ale jeśli odczytuję dane przez SoftUart to &quot;powstaje&quot; mi bardzo dużo błędów w sprzętowym UART :/<br /></div>Jakie to są błędy? Czy gubisz dane, masz niepoprawne dane w buforze czy na sprzętowym UARTcie masz raportowane w rejestrze błędy odbioru (jak tak to jakie)?<br />Bo jak to nie jest błąd sprzętowego odbioru, to stawiałbym na jakieś błędy związane z buforami, wskaźnikami, zmiennymi.<br />Najlepiej zrób test wyłączając obsługę odebranych danych - odebrane dane z softUART ignoruj a odebrane na sprzętowym UARTcie wysyłaj zwrotnie do sprawdzenia - koniecznie nigdzie ich nie zapisuj. Jak będzie OK, to nie jest problem z odbiorem a obsługa danych i wtedy posprawdzaj bufory.<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> — 8 mar 2018, o 15:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2018-03-08T13:41:59+01:00</updated>
<published>2018-03-08T13:41:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205183#p205183</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205183#p205183"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205183#p205183"><![CDATA[
też mi to wpadło w oko poprawiłem ale nic to nie zmieniło jeśli chodzi o ten problem co wyżej ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 8 mar 2018, o 13:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2018-03-08T12:35:59+01:00</updated>
<published>2018-03-08T12:35:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205180#p205180</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205180#p205180"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205180#p205180"><![CDATA[
No tak samo jak w INT0 sprawdzałem to ... zresztą pisze że w czasie obsługi przerwania i tak jest kasowana ta flaga<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 8 mar 2018, o 12:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2018-03-08T12:24:11+01:00</updated>
<published>2018-03-08T12:24:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205177#p205177</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205177#p205177"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205177#p205177"><![CDATA[
Atmega644PA <!-- m --><a class="postlink" href="https://www.mouser.com/ds/2/268/atmel-42717-atmega644pa_datasheet-1108094.pdf" >https://www.mouser.com/ds/2/268/atmel-4 ... 108094.pdf</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 8 mar 2018, o 12:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2018-03-08T11:57:01+01:00</updated>
<published>2018-03-08T11:57:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205171#p205171</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205171#p205171"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205171#p205171"><![CDATA[
No zgoda że każda zmiana generuje przerwanie PCINT, ale tak jak wkleiłem kod obsługi tego przerwania wyżej ... przerwania od PCINT są zatrzymywane i sprawdzany jest stan Pinu RX i jak jest niski (czyli wykryte zbocze opadające) to odczytuje dane no i później znowu odpalamy przerwania od PCINT. Wiec tutaj jest chyba ok, zresztą w mirkowej bibliotece tak to jest właśnie zrobione tyle że na INT0.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 8 mar 2018, o 11:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-03-08T11:45:09+01:00</updated>
<published>2018-03-08T11:45:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205166#p205166</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205166#p205166"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205166#p205166"><![CDATA[
<div class="quotetitle">zubik napisał(a):</div><div class="quotecontent"><br />Cóż nie pierwszy raz mi mówisz że czegoś nie rozumiem<br /></div><br />dlatego starałem się tobie ale nie tylko tobie wyjaśnić jak się ma atomic do korzystania z niego w przerwaniach - a nie ... żeby pisać że odbiór soft uart należy robić TYLKO w przerwaniach - jak widać nawet nie przeczytałeś też o co pytał autor ułańskiej fantazji ... a pisał właśnie o odbiorze w procedurze obsługi przerwania PCINT - na to ty napisałeś:<br /><br /><div class="quotetitle">zubik napisał(a):</div><div class="quotecontent"><br />Nie wiem jak jest zbudowana biblioteka Mirka, ale ja znalazłem fajną w internecie i tam funkcja getchar() jest wykonywana atomowo, czyli wszystkie przerwania są zawieszone.<br /></div><br />Dlatego warto czasem też czytać ze zrozumieniem - chociaż ... z drugiej strony nie dziwię się w tym wypadku, bo ja też nie rozumiem autora ułańskiej fantazji do teraz dlatego dalej nie piszę. Tyle że jak odwołujesz się do mojego poradnika to zajrzyj do noty PDF Atmela <br /><br />AVR304.PDF (do tej noty też jest oczywiście kod źródłowy od Atmela)<br /><br />to zobaczysz, że większość kodów w necie odnośnie soft uart bazuje właśnie na tym rozwiązaniu w tym również ta do której link podałeś i aż szkoda że nie chce ci się tak podstawowych rzeczy sprawdzić<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 8 mar 2018, o 11:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2018-03-08T11:42:16+01:00</updated>
<published>2018-03-08T11:42:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205164#p205164</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205164#p205164"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205164#p205164"><![CDATA[
Hmm Mirku trzeba było tak napisać że nie rozumiesz o co mi chodzi, a nie że ułańskie pytania <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> To spróbuję jeszcze raz ... <br /><br />W swoim układzie mam użytego sprzętowego UARTa, przez którego komunikuję się z pierwszym urządzeniem. Urządzenie to odpytuje mój układ co 100ms. Wszystko działa jak należy do puki nie zacznę odbierać czegoś przez SoftUart.<br /><br />W SoftUarcie transmisja jest co 250ms. W tym przypadku to moje urządzenie odpytuje inny układ. Jeśli przez SoftUart tylko wysyłam do tego układu to wszystko gra i sprzętowy UART działa bezbłędnie. Jeśli włączę odbiór w SoftUart to jest okej jeśli chodzi o samą transmisję przez SoftUart i nadawanie i odczyt jest poprawny. Ale jeśli odczytuję dane przez SoftUart to &quot;powstaje&quot; mi bardzo dużo błędów w sprzętowym UART :/. <br /><br />No więc wygląda to na jakąś korelację między odbiorem z SoftUart a tym sprzętowym UARTem. <br /><br />Niewiem czy to teraz jest bardziej zrozumiałe. No ale musi być jakaś zależność między tym sprzętowym a programowym UARTem skoro sprzętowy działa dobrze do puki się nie odpali odbioru z SoftUARTu <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 8 mar 2018, o 11:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-03-08T11:30:23+01:00</updated>
<published>2018-03-08T11:30:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205159#p205159</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205159#p205159"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205159#p205159"><![CDATA[
<div class="quotetitle">zubik napisał(a):</div><div class="quotecontent"><br />funkcja przeze mnie podana może a nie musi działać na przerwaniach, uważam że to zależy od konkretnych zastosowań, nie zawsze mamy wolne przerwanie, nie zawsze funkcja jest krytyczna żeby trzeba ją w przerwaniu wykonywać.<br /></div><br />A o czym ja piszę ? ... to dlatego w bibliotece którą omawiałem w poradniku nie ma sekcji atomic - ponieważ niewprawny użytkownik będzie tego używał w przerwaniach co może doprowadzić do większych problemów niż nie użycie atomic w programie głównym ... chociaż to też zależy od projektu<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 4 minutach ]</span></strong><br /><br /><div class="quotetitle">zubik napisał(a):</div><div class="quotecontent"><br />Ponieważ piszemy w poście gdzie prezentujesz swoją bibliotekę płatną.<br /></div><br />Tak tak piszę że nie rozumiesz bo nie rozumiesz albo nie chcesz rozumieć i opowiadasz bajki ....<br /><br />CHŁOPIE obejrzyj, że poradnik chociaż na który się powołujesz - szczególnie od tego momentu:<br /><br /><!-- m --><a class="postlink" href="https://youtu.be/XQFiTzsVI9U?t=87" >https://youtu.be/XQFiTzsVI9U?t=87</a><!-- m --><br /><br />wyjaśniam na samym już początku, że posługuję się STANDARDOWYMI bibliotekami ASM Atmela do których dostęp ma KAŻDY!!! Ja jedynie pokazuję w poradnikach jak je ubrać w język C .... zaś jeśli chodzi o sprzedaż to sprzedaję materiały do poradnika a nie bibliotekę jakąś moją <br /><br />nie wiem - może teraz zrozumiesz ? kto wie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 8 mar 2018, o 11:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-03-08T11:05:21+01:00</updated>
<published>2018-03-08T11:05:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205154#p205154</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205154#p205154"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205154#p205154"><![CDATA[
<div class="quotetitle">zubik napisał(a):</div><div class="quotecontent"><br />No nie wiem czy to Mirkowi się spodoba, najwyżej usunie<br /></div><br />a co ma jedno z drugim wspólnego, dlaczego miałbym usuwać - co to za insynuacje jakieś dziwne ? bo to mało jest bibliotek w necie na soft uart ? Czy spotkałeś się żebym ja gdzieś cenzurował to gdy ktoś dodaje na forum jakieś linki do bibliotek w necie ? szczególnie otwartych ? Więc proszę na przyszłość przemyśleć zanim się coś takiego napisze - i zamiast tego pisać merytorycznie.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 5 minutach ]</span></strong><br /><br /><div class="quotetitle">zubik napisał(a):</div><div class="quotecontent"><br />ale ja znalazłem fajną w internecie i tam funkcja getchar() jest wykonywana atomowo<br /></div><br />tak się zastanawiam czy wiesz co to znaczy atomowość - bo niby wiesz - ale jakosik tak chyba nie za bardzo ...<br /><br />bo pomijam już stosowanie makr wbudowanych w C &lt;atomic.h&gt;<br /><br />to tak prosty mechanizm <br /><br />[syntax=c]uint8_t sreg = SREG;<br />cli();<br /><br />//... kod w sekcji atomic block<br /><br />SREG = sreg;[/syntax]<br /><br />można zastosować w DOWOLNYM kodzie w tym też w bibliotece którą ja prezentowałem - a specjalnie nie umieszczałem tej sekcji gdy mowa była o działaniu (UWAGA!) w procedurze obsługi przerwania bo .... tu właśnie upatruję tego - że nie wiesz co to znaczy atomowość - dlatego, że podczas wykonywania procedury obsługi przerwania w AVR - inne przerwania są zablokowane - a więc w takim akurat wypadku stosowanie sekcji atomic block jest kompletnym nonsensem i nieporozumieniem ...<br /><br />zatem to, że dopatrujesz się że jakaś tam mirkowa biblioteka może nie działać autorowi ułańskich pytań - może wynikać z tego, że po pierwsze tak samo jak ja nie rozumiesz jego problemu a po drugie - no jak widać sam nie rozumiesz atomowości w aspekcie procedur obsługi przerwań i wprowadzasz co nieco w błąd innych - ale dla tego NA SPOKOJNIE (żeby nie było zaraz że się Mirek denerwuje) wyjaśniam co i jak nawet z przykładami - żeby inni mogli wyciągnąć jakieś właściwe wnioski z dyskusji<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 8 mar 2018, o 11:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2018-03-08T10:25:14+01:00</updated>
<published>2018-03-08T10:25:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205146#p205146</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205146#p205146"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205146#p205146"><![CDATA[
Dzięki za odpowiedź <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Podrzucił by kolega gdzie tego szukać ? Spróbowałbym może to pomoże ...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 8 mar 2018, o 10:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2018-03-07T23:58:24+01:00</updated>
<published>2018-03-07T23:58:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205131#p205131</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205131#p205131"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205131#p205131"><![CDATA[
<img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> Mirek proszę <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> bez takich ... kurde jakieś zależności tutaj muszą być że mam taki efekt... Jak zakomentuję sgetchar to jest bez problemów w sprzętowym :/ czyli to nie jest wina przerwania raczej ...<br />[syntax=c]ISR( PCINT0_vect ) {<br />     <br />        PCICR &amp;= ~(1&lt;&lt;PCIE0);       //wyłączamy przerwanie PCIE0 czyli PCINT0 do PCINT7<br />        PCMSK0 &amp;= ~(1&lt;&lt;PCINT5);  //wyłączamy przerwanie na pinie PCINT4 czyli PA5<br />     <br />        if ( bit_is_clear(PINA,5) ) {<br />     <br />                    static uint8_t cnt;<br />                    char * vstr = ( char* ) &amp; liondata.buffe;<br />                    char znak;<br />     <br />                    do {<br />                            znak = 13;<br />     <br />                            if ( 13 == znak ) {<br />                                //    sgetchar();       // odbieramy ostatni znak LF<br />                                    break;<br />                            } else {<br />                                    if ( znak &gt; 13 ) vstr&#91;cnt++&#93; = znak;<br />                            }<br />                             if( cnt &gt;= SIZE_BUF ) break;<br />     <br />                    } while ( znak );<br />     <br />                    cnt = 0;<br />                    suart_flag = 1;<br />    }<br />        PCIFR = (1&lt;&lt;PCIF0);          //kasujemy flagę przerwania PCIE0<br />        PCICR |= (1&lt;&lt;PCIE0);        //włączamy przerwanie PCIE0 czyli PCINT0 do PCINT7<br />        PCMSK0 |= (1&lt;&lt;PCINT5);  //włączamy przerwanie na pinie PCINT4 czyli PA5<br />    }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 7 mar 2018, o 23:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-03-07T23:51:33+01:00</updated>
<published>2018-03-07T23:51:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205128#p205128</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205128#p205128"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205128#p205128"><![CDATA[
<div class="quotetitle">faber33 napisał(a):</div><div class="quotecontent"><br />Dokładnie u mnie ta &quot;ułańska fantazja&quot;<br /></div><br />No to musisz z jakimś ułanem porozmawiać o tych problemach z kosmosu, tym bardziej  że jak widać to zdaje się ty tutaj coś wyjaśniasz a nie pytasz ... Skoro więc sobie wyjaśniłeś już to super, powodzenia <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=54">mirekk36</a> — 7 mar 2018, o 23:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2018-03-07T22:52:58+01:00</updated>
<published>2018-03-07T22:52:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205121#p205121</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205121#p205121"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205121#p205121"><![CDATA[
to ciekawe ... działać działa ... tylko co z tego jak mi blokuje drugiego UART tego sprzętowego bo jak inaczej wytłumaczysz że zakomentowując tylko &quot;sgetchar&quot; błędów w transmisji UARTa sprzętowego praktycznie niema ? Musi być jakaś korelacja między tym ... Dokładnie u mnie ta &quot;ułańska fantazja&quot; wygląda tak, tak jak to była mowa wyżej o Twoim SoftUarcie z DIGI-Liona 3, przerobiłem tylko przerwanie na PCINT:<br /><br />Czyli do inicjalizacji poszło zamiast inicjalizacji INT0 --&gt; PCINT0:<br /><br />[syntax=c]PCICR |= (1&lt;&lt;PCIE0);//zezwolenie na przerawanie PCIE0 czyli PCINT0 do PCINT7<br />PCMSK0 |= (1&lt;&lt;PCINT5);  //przerwanie na pinie PCINT4 czyli PA5<br />PCIFR = (1&lt;&lt;PCIF0);//flaga przerwania PCIE0[/syntax]<br /><br />I obsługa tego przerwania:<br />[syntax=c]ISR( PCINT0_vect ) {<br /><br />    PCICR &amp;= ~(1&lt;&lt;PCIE0);//wyłączamy przerwanie PCIE0 czyli PCINT0 do PCINT7<br />    PCMSK0 &amp;= ~(1&lt;&lt;PCINT5);  //wyłączamy przerwanie na pinie PCINT4 czyli PA5<br /><br />    if ( bit_is_clear(PINA,5) ) {<br /><br />static uint8_t cnt;<br />char * vstr = ( char* ) &amp; liondata.buffe;<br />char znak;<br /><br />do {<br />znak = sgetchar();<br /><br />if ( 13 == znak ) {<br />sgetchar();       // odbieramy ostatni znak LF<br />break;<br />} else {<br />if ( znak &gt; 13 ) vstr&#91;cnt++&#93; = znak;<br />}<br /> if( cnt &gt;= SIZE_BUF ) break;<br /><br />} while ( znak );<br /><br />cnt = 0;<br />suart_flag = 1;<br />}<br />    PCIFR = (1&lt;&lt;PCIF0);         //kasujemy flagę przerwania PCIE0<br />    PCICR |= (1&lt;&lt;PCIE0);//włączamy przerwanie PCIE0 czyli PCINT0 do PCINT7<br />    PCMSK0 |= (1&lt;&lt;PCINT5);  //włączamy przerwanie na pinie PCINT4 czyli PA5<br />}[/syntax]<br /><br /><br />I efekt jest taki:<br /><br />Jeśli odbieram dane tym programowym UARTem tzn. kiedy przychodzą jakieś dane w tym przypadku co 250ms to są ładnie odbierane tutaj wszystko gra. Tyle że w tym drugim sprzętowym UART powstaje bardzo dużo błędów ok 20% w przesyłanych przez niego pakietach danych ... Jeśli nic nie odbiera ten programowy to sprzętowy śmiga bezbłędnie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 7 mar 2018, o 22:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-03-07T22:12:56+01:00</updated>
<published>2018-03-07T22:12:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205117#p205117</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205117#p205117"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205117#p205117"><![CDATA[
<div class="quotetitle">faber33 napisał(a):</div><div class="quotecontent"><br />Nie jest to chyba najlepsze rozwiązanie z tym przerwaniem, bo z tego co zauważyłem gdy używam tego odbioru z SOFT UART to mam błędy w odbiorze ze sprzętowego. Widocznie te opóźnienia w sgetchar jeszcze trzymią.<br /></div><br />Przyznam, że trzeba mieć ułańską wyobraźnię, żeby TAKIE bzdury pisać <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> bo inaczej nie da się tego nazwać - szczególnie po poradniku wideo w którym pokazałem, że da radę to zrobić i że to ślicznie może działać <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=54">mirekk36</a> — 7 mar 2018, o 22:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2018-03-07T19:04:56+01:00</updated>
<published>2018-03-07T19:04:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205108#p205108</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205108#p205108"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=205108#p205108"><![CDATA[
Nie jest to chyba najlepsze rozwiązanie z tym przerwaniem, bo z tego co zauważyłem gdy używam tego odbioru z SOFT UART to mam błędy w odbiorze ze sprzętowego. Widocznie te opóźnienia w sgetchar jeszcze trzymią. Ogarnia ktoś ASM jakby to tam trzeba było przerobić ? <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 7 mar 2018, o 19:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-01-31T07:51:56+01:00</updated>
<published>2018-01-31T07:51:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=203006#p203006</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=203006#p203006"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=203006#p203006"><![CDATA[
pewnie że jako patron możesz ...<br /><br />dokładnie wystarczy wygenerować sygnał przerwania ... i nie musi to być aż 5ms, w DL3 ten czas musiał być tak długi ze względu na inne tam jego wewn sprawy, ale przerwanie może być duużo krótsze<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 31 sty 2018, o 07:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2018-01-30T22:42:43+01:00</updated>
<published>2018-01-30T22:42:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=202996#p202996</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=202996#p202996"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=202996#p202996"><![CDATA[
a dobra ... pomyłka bo oglądałem akurat filmik o DIGILION 2 i tam było na osobnym pinie przerwanie.<br /><br />Jako patron mogę się zgłosić na maila po tą poprawioną bibliotekę do SOFTUARTu ?<br /><br />I powiedzmy teraz trzeba by wygenerować w nadawaniu ten sygnał przerwania tak ? Czyli to zbocze opadajace tam na początku jak jest ten  stan niski ok 5 ms jak mówiłeś w filmie (czyli to jest bit startu ramki jak dobrze rozumiem)?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 30 sty 2018, o 22:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-01-30T21:06:09+01:00</updated>
<published>2018-01-30T21:06:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=202985#p202985</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=202985#p202985"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=202985#p202985"><![CDATA[
a po co na innym pinie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 sty 2018, o 21:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2018-01-30T21:04:53+01:00</updated>
<published>2018-01-30T21:04:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=202984#p202984</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=202984#p202984"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=202984#p202984"><![CDATA[
hmm ale to się wiąże z dodatkowym pinem do przerwania INT ? A to mnie nie ratuje niestety <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> chyba że da się to wykonać przy pomocy PCINT i tego samego pinu co RX ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 30 sty 2018, o 21:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-01-30T20:38:54+01:00</updated>
<published>2018-01-30T20:38:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=202981#p202981</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=202981#p202981"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=202981#p202981"><![CDATA[
to nie jest sposób na nieblokującą pracę - w jednym poradniku o DigiLION3 pokazywałem jak to robić np w oparciu o przerwanie - tyle, że DigiLion3 ładnie przed transmisją generuje sygnał przerwania<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 sty 2018, o 20:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[faber33]]></name></author>
<updated>2018-01-30T19:45:17+01:00</updated>
<published>2018-01-30T19:45:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=202976#p202976</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=202976#p202976"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=202976#p202976"><![CDATA[
aha rozumiem to w jaki sposób do tego jeża podejść ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=976">faber33</a> — 30 sty 2018, o 19:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-01-30T19:21:47+01:00</updated>
<published>2018-01-30T19:21:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=202971#p202971</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=202971#p202971"/>
<title type="html"><![CDATA[Re: SOFT UART czyli programowy RS232 - zaczynamy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17401&amp;p=202971#p202971"><![CDATA[
<div class="quotetitle">faber33 napisał(a):</div><div class="quotecontent"><br />drogi Mirku <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> kombinuje to żeby odbieranie znaków było nieblokujące więc wymyśliłem żeby zrobić coś w stylu tajmałta, czyli żeby wychodził z tej funkcji odbierającej sgetchar jeśli nie nadeszły żadne znaki<br /></div><br /><br />Tak myślałem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> dlatego zapytałem - bo nie zrobisz tego drogą tajmałta prostego - to są drastycznie czasowo-zależne procedury - tajmałtem rozjedziesz czas próbkowania bitów<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />już nie mówiąc o tym, że tą drogą idąc kompletnie nie bierzesz pod uwagę czasu trwania pojedynczego bitu dla różnych prędkości baudrate<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 30 sty 2018, o 19:21</p><hr />
]]></content>
</entry>
</feed>