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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-11-05T21:39:32+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=19545&amp;mode</id>
<entry>
<author><name><![CDATA[wat1970]]></name></author>
<updated>2017-11-05T20:13:01+01:00</updated>
<published>2017-11-05T20:13:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19545&amp;p=198379#p198379</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19545&amp;p=198379#p198379"/>
<title type="html"><![CDATA[Re: magistrala CAN]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19545&amp;p=198379#p198379"><![CDATA[
SunRiver jest chyba ekspertem od tego scalaczka <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Ja obecnie rozgryzam MCP2517FD ale do transmisji jeszcze nie doszedłem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2179">wat1970</a> — 5 lis 2017, o 20:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Papryk]]></name></author>
<updated>2017-11-05T21:39:32+01:00</updated>
<published>2017-11-05T18:51:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19545&amp;p=198370#p198370</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19545&amp;p=198370#p198370"/>
<title type="html"><![CDATA[magistrala CAN]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19545&amp;p=198370#p198370"><![CDATA[
Witam,<br /><br />Zwracam się do Was z pytaniem odnośnie magistrali CAN (mcp2515). Natknąłem się na problem, którego nie do końca rozumiem. Jeśli wysyłam z jednego urządzenia kilka różnych wiadomości (o różnym ID), to urządzenie odbiorcze częściej odbiera wiadomość, która została wysłana pierwsza, a pozostałe bardzo rzadko. Udało mi się już ustalić, że prawdopodobnie chodzi o bufory mcp2515. Wiem, że każdy z nich ma swój priorytet i najpierw bufor o najwyższym priorytecie jest wysyłany. Zatem dlaczego dla takiego schematu transmisji jak niżej, wiadomość 1 jest częściej wysyłana? Przecież bufor 0 i 1 zostaną zapełnione i przez 100ms podczas delay powinny zostać oba wysłane, jednak tak się nie dzieje. Zrobiłem test i przez kilka minut odbiornik odebral 2500 wiadomosci nr 1 i tylko 300 wiadomosci nr 2.<br /><br />1. CAN_wyslij(wiadomosc_1)<br />2. CAN_wyslij(wiadomosc_2)<br />3. delay(100);<br /><br />Jeżeli między wysłaniem wiadomości 1 i 2 wstawie delay, to odbiornik odbiera tyle samo wiadomosci nr 1 i 2. Jednak takie rozwiązanie od razu odpada. Zmniejszając delay różnica w ilości odebranych wiadomości się zwiększa.<br /><br />1. CAN_wyslij(wiadomosc_1)<br />3. delay(50);<br />2. CAN_wyslij(wiadomosc_2)<br />3. delay(50);<br /><br />Czy mógłby mi ktoś wyjaśnić dlaczego mcp2515 nie wysyła wiadomości z drugiego bufora podczas delay(100) i co mogę zrobić aby wiadomości zostały wysłane jedna po drugiej?<br /><br />Z góry dziękuje.<br /><br />Edit.<br /><br />Napisałem kod, w którym czekam aż zwolni się bufor 0 i tylko przy jego pomocy wysyłam wiadomości. Efekt ten sam. Może to nie wina nadawcy, a odbiorcy?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=13904">Papryk</a> — 5 lis 2017, o 18:51</p><hr />
]]></content>
</entry>
</feed>