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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-11-20T19:34:25+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=13626&amp;mode</id>
<entry>
<author><name><![CDATA[RafalC]]></name></author>
<updated>2015-11-20T19:34:25+01:00</updated>
<published>2015-11-20T19:34:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145946#p145946</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145946#p145946"/>
<title type="html"><![CDATA[Re: Przekazanie zmiennej do funkcji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145946#p145946"><![CDATA[
&quot;prosty&quot; - nie wymagający miesięcznego tworzenia kodu oraz elektroniki - najlepiej taki który mogę na obecną chwilę stworzyć na płytce testowej w miarę możliwości &quot;dokładny&quot;:)<br /><br />owy stoper jest mi potrzebny do &quot;nauczenia się czegoś o avr i ich programowaniu&quot;:)<br /><br />a żeby nauka przynosiła jakieś rezultaty trzeba ćwiczyć czyż nie?:) i ja za ćwiczenie wymyśliłem sobie stoperek:) <br /><br />obecnie próbuję odpalić ds1307 aby z niego pobierać generowany sygnał 1Hz lub czas i obliczać różnice ale mam problem z i2c (TWI) więc chwilowo mam swój niedokładny stoperek:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11822">RafalC</a> — 20 lis 2015, o 19:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomson5]]></name></author>
<updated>2015-11-20T10:17:53+01:00</updated>
<published>2015-11-20T10:17:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145904#p145904</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145904#p145904"/>
<title type="html"><![CDATA[Re: Przekazanie zmiennej do funkcji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145904#p145904"><![CDATA[
Kolega wspomniał o prostym stoperze. Dla mnie w tym przypadku zew. RTC to jak wół do karety. Niech najpierw sam określi co ma na myśli mówiąc &quot;prosty&quot;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2382">tomson5</a> — 20 lis 2015, o 10:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rskup]]></name></author>
<updated>2015-11-19T20:33:02+01:00</updated>
<published>2015-11-19T20:33:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145881#p145881</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145881#p145881"/>
<title type="html"><![CDATA[Re: Przekazanie zmiennej do funkcji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145881#p145881"><![CDATA[
Kwarc 32KHz nie pomoże, bo z reguły one także są mało dokładne i bardzo czułe na warunki zewnętrzne.<br />Można niedokładności kwarcu kompensować poprzez odpowiednie dodanie kondensatorów lub programowo modyfikować licznik w timerze. Ale i tak zmiany temperatury spowodują jego rozjazd.<br /><br />Co do układu zegarka, to obejrzyj sobie poradnik Mirka:<br /><a href="http://forum.atnel.pl/topic4652.html"  class="postlink">http://forum.atnel.pl/topic4652.html</a><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 lis 2015, o 20:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tomson5]]></name></author>
<updated>2015-11-19T20:17:42+01:00</updated>
<published>2015-11-19T20:17:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145880#p145880</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145880#p145880"/>
<title type="html"><![CDATA[Re: Przekazanie zmiennej do funkcji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145880#p145880"><![CDATA[
Może spróbuj na początek użyć kwarc zegarkowy 32.768 Hz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2382">tomson5</a> — 19 lis 2015, o 20:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RafalC]]></name></author>
<updated>2015-11-18T21:58:53+01:00</updated>
<published>2015-11-18T21:58:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145809#p145809</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145809#p145809"/>
<title type="html"><![CDATA[Re: Przekazanie zmiennej do funkcji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145809#p145809"><![CDATA[
<div class="quotetitle">Bartek123 napisał(a):</div><div class="quotecontent"><br />Czekaj czekaj, dlaczego zmienna tekst jest tablicą? Albo ja jestem zbyt początkujący aby to zrozumieć, albo coś namieszałeś. Pewnie to pierwsze <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><br /></div><br /><br />przykład obsługi wyświetlacza LCD napisałem przy pomocy jakiegoś przykładu z neta. Chciałem sobie napisać &quot;prosty&quot; stoper ale widzę że na Timer-ze tego nie zrobię bo przy 7 min różnica w czasie jest już na poziomie 4 sek. Co prawda procka taktuje wew oscylatorem i wyczytałem gdzieś że to nie jest dokładne ale że aż tak? najdziwniejsze że procek odlicza szybciej niż normalny stoper a wydawało by się że powinien wolniej bo zanim odświeży np. LCD to czas leci. <br /><br />Tak czy inaczej dziękuje za podpowiedź była przydatna;) LCD wyświetla już co chce:) resztę muszę inaczej rozwiązać - chyba zakupię jakiś zegar czasu rzeczywistego i będę z niego pobierał czas.<br /><br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11822">RafalC</a> — 18 lis 2015, o 21:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[rskup]]></name></author>
<updated>2015-11-18T21:10:59+01:00</updated>
<published>2015-11-18T21:10:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145803#p145803</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145803#p145803"/>
<title type="html"><![CDATA[Re: Przekazanie zmiennej do funkcji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145803#p145803"><![CDATA[
Wywołując funkcję przekazujesz wskaźnik na ciąg znaków zakończony znakiem zero (tzw. string). Jak wpisałeś liczbę to kazałeś wyświetlić coś ze wskazanego przez ciebie miejsca. A tam była jakaś losowa informacja - czyli to co pojawiało Ci się na LCD i pewnie było tam dużo danych zanim znalazł się jakiś bajt o wartości 0.<br /><br />Musisz jak napisał <em>Bartek123 </em> przekonwertować liczbę na stringa.<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> — 18 lis 2015, o 21:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Bartek123]]></name></author>
<updated>2015-11-18T20:55:27+01:00</updated>
<published>2015-11-18T20:55:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145800#p145800</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145800#p145800"/>
<title type="html"><![CDATA[Re: Przekazanie zmiennej do funkcji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145800#p145800"><![CDATA[
Nie wiem, ale int nie możesz przekazać. Możesz tylko jako argument przekazać adres litery łańcucha, a więc zamiast zmiennej int stwórz funkcję która przekonwertuje int na string i w tedy przekaż adres tego łańcucha. Dobra może trochę zbyt skomplikowanie zobacz:<br />kiedy chcesz wyświetlić tekst przy pomocy tej funkcji z zmiennej char(tyko taki typ można przekazać) to robisz tak:<br />[syntax=c]char tab&#91;&#93; = &quot;Ala ma kota&quot;;<br />LCD_tekst(&amp;tab&#91;0&#93;);[/syntax]<br /><br />Ale nie możesz wyświetlić zmiennej typu int rozumiesz, a więc podsumowanie musisz zmienną licznik zamienić na tablice char np: przy pomocy funkcji itoa() poczytaj o niej w internecie, i przekazać adres tablicy w której jest zapisana ta liczba w postaci tablicy char.<br />Czekaj czekaj, dlaczego zmienna tekst jest tablicą? Albo ja jestem zbyt początkujący aby to zrozumieć, albo coś namieszałeś. Pewnie to pierwsze <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10617">Bartek123</a> — 18 lis 2015, o 20:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RafalC]]></name></author>
<updated>2015-11-18T20:22:23+01:00</updated>
<published>2015-11-18T20:22:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145795#p145795</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145795#p145795"/>
<title type="html"><![CDATA[Przekazanie zmiennej do funkcji]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13626&amp;p=145795#p145795"><![CDATA[
Witam,<br /><br />mam strasznie &quot;dziwny&quot; problem, którego od dłuższego czasu nie mogę rozwiązać sam. Mianowicie posiadam napisaną takową funkcję do wyświetlania tekstu na LCD (2 x 40 HD44780)<br /><br />[syntax=c]void LCD_tekst(char *tekst)<br />{<br />        unsigned char i=0;<br />        while (tekst&#91;i&#93;) LCD_wyslij(tekst&#91;i++&#93;,1);<br />        _delay_us(10);<br />}<br /><br />void LCD_wyslij(unsigned char dana,char litera)<br />{<br />        while(LCD_busy());      // oczekiwanie na zwolienie wyswietlacza<br />        rw_0;<br />        e_1;<br />        if (litera==0)<br />        {<br />                rs_0;<br />        }<br />        else<br />        {<br />                rs_1;<br />        }<br />        e_1;<br />        lcd_data=(lcd_data&amp;0xF0)|((dana&amp;0xf0)&gt;&gt;4);      // przygotuj starszy bajt do LCD<br />        _delay_us(2); // aaaa   _delay_ms(5);<br />        e_0;<br />        _delay_us(2); // aaaa   _delay_ms(5);<br />        e_1;<br />        lcd_data=(lcd_data&amp;0xF0)|(dana&amp;0x0f);   // przygotuj młodszy bajt do LCD<br />        _delay_us(2); // aaaa   _delay_ms(5);<br />        e_0;<br />        _delay_us(2); // aaaa   _delay_ms(10);<br />}[/syntax]<br /><br />wszystko działa ładnie jak w głównym programie wywołuję takie cudo:<br /><br />[syntax=c]LCD_tekst(&quot;Ala ma kota&quot;);[/syntax]<br /><br />a gdy zamiast łańcucha znaków chce wyświetlić wartość zmiennej to wyświetlacz &quot;milczy&quot; a po jakimś czasie wyświetla &quot;dziwy&quot;<br /><br />[syntax=c]uint8_t licznik = 100;<br /><br />//...<br /><br />LCD_tekst(licznik);<br /><br />//...[/syntax]<br /><br />mógłby ktoś mi powiedzieć dlaczego? i co trzeba by było zmienić aby to zaczęło działać?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11822">RafalC</a> — 18 lis 2015, o 20:22</p><hr />
]]></content>
</entry>
</feed>