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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-10-09T21:35:43+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=1571&amp;mode</id>
<entry>
<author><name><![CDATA[main.c]]></name></author>
<updated>2012-10-09T21:35:43+01:00</updated>
<published>2012-10-09T21:35:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=16669#p16669</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=16669#p16669"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie ADC i/lub UART? Możliwe?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=16669#p16669"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />a w trzeciej książce na pewno będzie o GSM/SMS/GPRS więc tam na pewno zobaczysz przykłady parsowania danych &quot;w locie&quot; czyli bezpośrednio w buforach cyklicznych.<br /></div><br /><br />Jak idą prace nad obsługą sms? Aktualnie próbuję przebrnąć przez źródła żeby napisać program do odbioru i wysyłki sms (nokia). Czy znany jest orientacyjny termin ukazania się trzeciej części?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=332">main.c</a> — 9 paź 2012, o 21:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-09-21T21:59:21+01:00</updated>
<published>2012-09-21T21:59:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15691#p15691</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15691#p15691"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie ADC i/lub UART? Możliwe?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15691#p15691"><![CDATA[
No <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> jak widzisz z pamięcią RAM trzeba uważać - za dużo buforów i będzie problem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 21 wrz 2012, o 21:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-09-21T21:56:31+01:00</updated>
<published>2012-09-21T21:56:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15689#p15689</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15689#p15689"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie ADC i/lub UART? Możliwe?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15689#p15689"><![CDATA[
No i jednak...<br />Dodałem stack_monitor do programu i okazuje się, że RAMu brakuje<br />Niby RAM 430B zajęte przy programowaniu, ale w trakcie działania programu wyświetla mi 462B nigdy nie tknięte przez stos.<br />Nic dziwnego, że jak przyładuję 512B bufor dla petitfat to się zaczynają dziać cuda (1024 - 430 - 512 = 82, a stos już 132 zajmuje).<br />Tryb optymalizacji programu włączyć i ... <img src="https://forum.atnel.pl/images/smilies/icon_arrow.gif" alt=":arrow:" title="Strzałka" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 21 wrz 2012, o 21:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-09-21T12:21:59+01:00</updated>
<published>2012-09-21T12:21:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15641#p15641</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15641#p15641"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie ADC i/lub UART? Możliwe?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15641#p15641"><![CDATA[
<div class="quotetitle">Malutki_27 napisał(a):</div><div class="quotecontent"><br />Hihihiii no to już możemy zacząć tworzyć nieoficjalny spis tego co będzie w trzeciej książce  <img src="https://forum.atnel.pl/images/smilies/icon_cool.gif" alt="8-)" title="Cool" /><br /></div><br /><br />oooops <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> już się włączył &quot;podsłuch&quot; <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> — 21 wrz 2012, o 12:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Malutki_27]]></name></author>
<updated>2012-09-21T12:06:25+01:00</updated>
<published>2012-09-21T12:06:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15640#p15640</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15640#p15640"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie ADC i/lub UART? Możliwe?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15640#p15640"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />a w trzeciej książce na pewno będzie o GSM/SMS/GPRS więc tam na pewno zobaczysz przykłady parsowania danych &quot;w locie&quot; czyli bezpośrednio w buforach cyklicznych.<br /></div><br /><br /><br />Hihihiii no to już możemy zacząć tworzyć nieoficjalny spis tego co będzie w trzeciej książce  <img src="https://forum.atnel.pl/images/smilies/icon_cool.gif" alt="8-)" title="Cool" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=225">Malutki_27</a> — 21 wrz 2012, o 12:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-09-21T11:21:43+01:00</updated>
<published>2012-09-21T11:21:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15635#p15635</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15635#p15635"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie ADC i/lub UART? Możliwe?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15635#p15635"><![CDATA[
czy ty zdajesz sobie sprawę co to są bufory cykliczne ? gdzie są definiowane ? i o co tu chodzi ? bo wydaje mi się że w ogóle nie wiesz - po tym pytaniu <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />char bufor[100];<br /><br />być może założyłem sobie na potrzeby obróbki wszystkiego w zasadzie. To tak samo gdy np działam z kartą pamięci i tworzę na jej potrzeby bufor 512 bajtów, to myślisz że co ? że na potrzeby stringów itp będę zaraz tworzył kolejny ? NIE <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... jeśli tylko nie zachodzi obawa że dane się nadpiszą (trzeba odpowiednio konstruować program) to taki jeden bufor można wykorzystywać do wielu rzeczy.<br /><br />Tymczasem polecam ci jeszcze raz zajrzeć do niebieskiej książki oraz do plików bibliotek UART'a i tam sprawdzić jak powstaje albo jak powstają bufory cykliczne - bo to całkiem inna rzecz od tego bufora.<br /><br />Tymczasem twoje obecne doświadczenia jak widzę polegają - na ślepo - na zmniejszaniu czy zwiększaniu jakichś tam buforów bez zrozumienia do końca jakie one pełnią funkcje w programie i obserwacji czy coś ci działa czy nie.<br /><br />Nie tędy droga.<br /><br />W skrócie - jeśli mam sporo wolnej pamięci RAM to pozwalam sobie na parsowanie danych w oddzielnych buforach niż te cykliczne. Ale np gdy mam mało pamięci RAM a potrzebuję parsować np SMS'y .... i to w PDU, gdzie długość linii przekracza lekką ręką 160 albo i więcej bajtów to wtedy parsowanie robię &quot;w locie&quot; czyli &quot;on line&quot; w samych buforach cyklicznych. Ale myślisz że wszystko można tak szybko pokazać i wyjaśnić ???? robię to po kawałku dla lepszego zrozumienia. Niestety ty na razie nawet zasady pracy buforów cyklicznych nie poznałeś (szkoda) .... stąd twoje poważne kłopoty jak widzę ....<br /><br />Więcej o parsowaniu masz w drugiej książce<br /><br />a w trzeciej książce na pewno będzie o GSM/SMS/GPRS więc tam na pewno zobaczysz przykłady parsowania danych &quot;w locie&quot; czyli bezpośrednio w buforach cyklicznych.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 21 wrz 2012, o 11:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-09-21T11:09:49+01:00</updated>
<published>2012-09-21T11:09:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15632#p15632</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15632#p15632"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie ADC i/lub UART? Możliwe?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15632#p15632"><![CDATA[
No ciekawie, ciekawie...<br />Tylko po co w main.c taka kobyła [syntax=c]char bufor[100];// bufor na potrzeby odebranych danych z UART[/syntax]<br />I jak to się dzieje, że jak zmniejszę ten bufor do [2] to też działa OK? <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=82">szopler</a> — 21 wrz 2012, o 11:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-09-21T03:56:38+01:00</updated>
<published>2012-09-21T03:56:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15620#p15620</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15620#p15620"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie ADC i/lub UART? Możliwe?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15620#p15620"><![CDATA[
I jeszcze jedno, akurat ta uwaga w procedurze obsługi przerwania którą zacytowałeś wyżej jest bardzo ważna i w drugiej książce, tej zielonej w ost. rozdziale, masz kompleksowo opisane jak podejść do całkowitej i pełnej obsługi tego przerwania jeśli teraz nie masz sam pomysłu jak to sobie zorganizować. Dodam że wtedy treść obsługi przerwania jest ściśle powiązana ze zdarzeniową obsługą uarta<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 21 wrz 2012, o 03:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-09-20T23:59:09+01:00</updated>
<published>2012-09-20T23:59:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15618#p15618</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15618#p15618"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie ADC i/lub UART? Możliwe?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15618#p15618"><![CDATA[
No jeśli stosujesz jednak odbiór i buforowanie z użyciem buforów cyklicznych wg sposobu, który opisałem w książce to sorki ale tam jest to wyraźnie napisane i opisane jak działa i dlaczego bufor musi być potęgą 2 ...<br /><br />podpowiedź jeśli nie będzie potęgą 2, to będzie złe maskowanie i wszystko się posypie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... zerknij do książki i do kodu to ci się wyjaśni (zwróć szczególną uwagę na maskowanie w celu kręcenia wskaźnikami w buforach)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 20 wrz 2012, o 23:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-09-20T23:31:36+01:00</updated>
<published>2012-09-20T23:31:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15616#p15616</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15616#p15616"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie ADC i/lub UART? Możliwe?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15616#p15616"><![CDATA[
Też był krzak, ale to nie to...<br /><br />Problem jest zidentyfikowany tylko nie do końca dla mnie zrozumiały.<br />GPS w stanie noFIX wysyła pakiet:<br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />$GPGGA,000313.04,,,,,0,0,,,M,,M,,*7D<br />$GPGLL,,,,,000313.04,V,N*4F<br />$GPGSA,A,1,,,,,,,,,,,,,,,*1E<br />$GPGSV,1,1,00*79<br />$GPRMC,000313.04,V,,,,,0.000,,060180,,,N*59<br />$GPVTG,,T,,M,0.000,N,0.000,K,N*2C<br /></div><br />W sumie 193 znaki widzialne, 6x CRLF + liczne znaki puste.<br /><br />Teraz mam bufor dajmy na to 32 bajty (domyślny).<br />Zdarzenie które ma za zadanie przechwycić linie i odesłać nie zmienione odsyła jedynie linie o ilości znaków &lt; 32, tak?<br />[syntax=c]int8_t NMEA_PARSER(char * pBuf) {<br />uart_puts(pBuf);<br />uart_puts(CR);<br />return 0;<br />}[/syntax]<br />Bo dostaję tylko:<br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />$GPGLL,,,,,000313.04,V,N*4F<br />$GPGSA,A,1,,,,,,,,,,,,,,,*1E<br />$GPGSV,1,1,00*79<br /></div> a wszystkie one mają &lt;32.<br /><br />No to teraz zagadka - dlaczego jak zrobię bufor o pojemności 45 = najdłuższej z tych linii ($GPRMC = 43 znaki + [CR][LF]) to ta sama nie zmieniona funkcja odsyłająca pBuf nic mi nie odsyła?<br />W ogóle jak pojemność bufora nie jest potęgą 2 to nic się nie odsyła - musi być 32, 64 albo 128 i dopiero dla 128 bajtowego bufora wydaje się że jest dobrze.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 20 wrz 2012, o 23:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Malutki_27]]></name></author>
<updated>2012-09-20T23:02:11+01:00</updated>
<published>2012-09-20T23:02:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15615#p15615</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15615#p15615"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie ADC i/lub UART? Możliwe?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15615#p15615"><![CDATA[
Nie mam zielonego pojęcia czy akurat to ma wpływ, ale chyba tu jest coś nie tak<br /><br />[syntax=c]ADMUX = (ADMUX &amp; 0b11100000) | kanal;[/syntax]<br /><br />raczej powinno być<br /><br />[syntax=c]ADMUX = (ADMUX &amp; 0b11111000) | kanal;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=225">Malutki_27</a> — 20 wrz 2012, o 23:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-09-20T22:21:29+01:00</updated>
<published>2012-09-20T22:21:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15614#p15614</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15614#p15614"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie ADC i/lub UART? Możliwe?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15614#p15614"><![CDATA[
No właśnie ciężko to nawet opisać jak się ma 90% dość skomplikowanego programu i nagle zaczynają się krzaki niewiadomego pochodzenia.<br />Ja odbieram dane z GPS'a, przetwarzam je i wysyłam oraz dodatkowo wysyłam dane w innym zdarzeniu, a to nikły % kodu.<br />sprintf jest ponieważ te dane trafią także do pliku na karcie (ale tego jeszcze nie dodałem).<br /><br />Jak mam za mały bufor odbiorczy to wpływa mi to na wysyłanie i to jest dziwne... a błąd definitywnie powoduje sytuacja gdy bufor odbiorczy jest za mały i wąż zaczyna zjadać własny ogon.<br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />// tutaj możemy w jakiś wygodny dla nas sposób obsłużyć  błąd spowodowany<br />    // próbą nadpisania danych w buforze, mogłoby dojść do sytuacji gdzie<br />    // nasz wąż zacząłby zjadać własny ogon<br /><br />PORTB ^=(1&lt;&lt;PB0); // Zmień stan LED'a!<br /></div><br />LED się zapalił po czym zgasł... i dalej sobie &quot;wesoło&quot; mruga <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 20 wrz 2012, o 22:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-09-20T22:05:42+01:00</updated>
<published>2012-09-20T22:05:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15613#p15613</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15613#p15613"/>
<title type="html"><![CDATA[Re: Dziwne zachowanie ADC i/lub UART? Możliwe?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15613#p15613"><![CDATA[
Naucz się dzielić projekt na mniejsze kawałki. Sorki ale ja mało rozumiem z tego co opisałeś. Nie mówię tego złośliwie broń boże - po prostu nie wiem jak można na takim etapie szukać błędu ? podziel wysyłanie na mniejsze części i sprawdzaj mniejszymi krokami aż dojdziesz od którego momentu zaczyna ci coś iść w krzaki.<br /><br />Poza tym piszesz o buforze odbiorczym - to ty coś odbierasz czy wysyłasz ? już się całkiem pogubiłem. Bo jak wysyłasz to w ogóle możesz zrezygnować nawet do testów z przerwań i buforów cyklicznych a nawet w ogóle nie buforować nadawanych rzeczy - tylko słać dane jedna po drugiej do UART'a - po co ten spritf() ??<br /><br />No możliwości testowania jest milion a ty nawet z najmniejszej nie korzystasz tylko napisałeś kobyłę i z tego punktu widzenia szukasz problemu. A tu trzeba zacząć od źrebaka <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> — 20 wrz 2012, o 22:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szopler]]></name></author>
<updated>2012-09-20T21:27:34+01:00</updated>
<published>2012-09-20T21:27:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15608#p15608</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15608#p15608"/>
<title type="html"><![CDATA[Dziwne zachowanie ADC i/lub UART? Możliwe?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1571&amp;p=15608#p15608"><![CDATA[
Mam do wyrzucenia na uart dość długi ciąg i robię to następująco:<br />[syntax=c]<br />sprintf(CSV_Tx_Buff ,&quot;%02u/%02u/%02u;%02u:%02u:%02u;%10lu;%10lu;%10lu;%10lu;%3u;%3u&quot;,<br />(u08)RTC_Time.D, (u08)RTC_Time.M, (u08)RTC_Time.Y, (u08)RTC_Time.h, (u08)RTC_Time.m, (u08)RTC_Time.s,<br />PULSE.A, PULSE.B, PULSE.C, PULSE.D, Pomiar_HV, Pomiar_BAT);<br />uart_puts(CSV_Tx_Buff);<br />uart_putc('\r');[/syntax]<br />gdzie:<br />[syntax=c]void obsluga_baterii(void) {<br />    if (_FLAGA.BATCheck == _Set) {<br />Pomiar_BAT = (151UL*obsluga_adc(6)) / 1000UL;<br />_FLAGA.BATCheck = _Rst;<br />    }<br />}[/syntax]<br />oraz:<br />[syntax=c]u16 obsluga_adc(u08 kanal) {<br />    ADMUX = (ADMUX &amp; 0b11100000) | kanal; // ADMUX &amp; maska (zachowaj to co już jest ustawione) i ustaw 3 ostatnie bity - nr kanalu<br />    sbi(ADCSRA,ADSC); // Start konwersji ADC<br />    while (ADCSRA &amp; (1&lt;&lt;ADSC)); // Czekaj na koniec konwersji<br />    return ADCW; // Zwroc wynik konwersji<br />}[/syntax]<br /><br />Problemem jest, że raz dostaję przez UART ostatnią wartość (Pomiar_BAT) = 053 (co odpowiada napięciu zasilania x10 i jest zgodne z prawdą), a drugi raz 139 (nie wiem skąd).<br />Co więcej na zachowanie sprintf i/lub ADC ma zawartość w linii:<br />[syntax=c]#define UART_RX_BUF_SIZE 32[/syntax] MKuart.h, ale co ma RX bufor wspólnego z TX? <img src="https://forum.atnel.pl/images/smilies/icon_e_surprised.gif" alt=":o" title="Zdziwiony" /><br />Ponieważ mam użyte około 90% ram pomyślałem - STOS... ale nie!<br />Wyrzuciłem zmienną char MMC_Buff[512], zużycie RAM spadło do ~40% i dalej to samo <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />Co więcej - jak zmniejszę ten bufor o połowę tj. do 32, to dostaję:<br />[syntax=txt]09/00/00;02:44:11;         2;         2;         2;         2;400; 53<br />09/00/00;02:44:15;         3;         3;         3;         3;402; 28<br />09/00/00;02:44:21;         4;         4;         4;         4;399;  0<br />09/00/00;02:44:24;         5;         5;         5;         5;400; 53[/syntax]<br />I dodatkowo nie dostaję pozostałych danych, która są wysyłane przez UART w innym zdarzeniu...<br /><br />Jak zwiększę do 64 bajtów to dostaję dane z obu zdarzeń*, ale wartość ostatnia szaleje jak wyżej.<br /><br />Szczerze mówiąc już nie wiem gdzie szukać baboola <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br />Sytuacja ulega naprawie gdy dam bardzo duży bufor odbiorczy - 128 bajtów i zmienną rx_buff &gt; od bufora np. 130 bajtów.<br />Ale tym sposobem zaczyna brakować mi ramu po dodaniu bufora do zapisu na MMC. Najdłuższa linia NMEA ma ~75 bajtów, więc dodatkowe 50 to marnotrawstwo.<br /><br />* - drugie zdarzenie to obsługa komend AT z dodanym kawałkiem służącym do parsowania NMEA...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=82">szopler</a> — 20 wrz 2012, o 21:27</p><hr />
]]></content>
</entry>
</feed>