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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-10-21T18:34:29+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=4544&amp;mode</id>
<entry>
<author><name><![CDATA[DominikN]]></name></author>
<updated>2013-10-21T18:34:29+01:00</updated>
<published>2013-10-21T18:34:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53867#p53867</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53867#p53867"/>
<title type="html"><![CDATA[Re: Wyświetlanie aktualnej wartości TCNT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53867#p53867"><![CDATA[
<div class="quotetitle">zabex napisał(a):</div><div class="quotecontent"><br />Jeszcze raz proszę o wybaczenie ale to dopiero mój 4 dzień z C, także robię co mogę we własnym zakresie.<br />[syntax=c]#include &lt;HD44780.c&gt;[/syntax] ponieważ kompilator zgłaszał błędy kiedy próbowałem prawidłowo dołączyć plik nagłówkowy HD44780.h<br /><br />&quot;undefined reference to `LCD_Clear'<br />undefined reference to `LCD_Home'<br />undefined reference to `LCD_Initalize'<br />undefined reference to `LCD_WriteCommand'&quot;<br /><br />Bibliotekę pobrałem pierwszą lepszą jak to się mówi, którą widziałem w innych projektach, ale... Być może nie nadaje się do takich celów.<br />Starałem sam dojść do tego o co chodzi z tymi wskaźnikami o których mowa w błędzie ale chyba to za wysokie progi jeszcze dla mnie. <br />No nic... Póki co dziękuję za odpowiedzi.<br /><br />P.S. Mirku o książce już myślałem ale skoro tak prosta (wydawało by się) sprawa jak wyświetlenie stanu licznika na LCD, jest tak skomplikowana to znowu zaczynam powątpiewać czy dobrze robię podchodząc do tego C.<br /></div><br /><br />kup jakąs ksiażke do c++ /c albo poszukaj w google duzo wala sie tego ksiazek w sieci<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1653">DominikN</a> — 21 paź 2013, o 18:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zabex]]></name></author>
<updated>2013-10-21T13:24:59+01:00</updated>
<published>2013-10-21T13:24:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53843#p53843</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53843#p53843"/>
<title type="html"><![CDATA[Re: Wyświetlanie aktualnej wartości TCNT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53843#p53843"><![CDATA[
Zgadzam się w 100%, że takie podejście nie jest zbyt rozsądne ale uwierz mi, że dla kompletnego laika jak ja przeczytanie dziesiątków poradników jak zaczynać, robi się straszny mętlik w głowie. Tym bardziej, że wiele funkcji można rozpisać na kilka sposobów. Co osoba to inne podejście.<br />Jestem typem samouka i staram się jakoś sam &quot;załapać&quot; o co w tym wszystkim chodzi. Oczywiście książka by pomogła ale chyba większego banana mam na ustach jeśli do czegoś sam dojdę. <br />Powyższy przykład nie jest pisany w stylu kopiuj wklej ale oparty na tym co między innymi wyczytałem w datasheet atmegi (timer, przerwania). <br />Być może (i pewnie tak jest) zbyt szybko chciałbym wiele rzeczy na raz opanować nie poskładając najpierw podstaw do kupy ale dla mnie (póki co) stawianie sobie celów i próba dążenia do nich sprawia mi więcej przyjemności niż kopiowanie czyjejś pracy.<br />Co do powyższego kodu... Biblioteka jest ok tyle, że do zwykłego wypisywania tekstu i bardzo podstawowych funkcji. Znalazłem inną dzięki której mogę wyświetlać wartość uint8_t i dzięki temu widzieć aktualną wartość TCNT0 na wyświetlaczu.<br /><br />Temat można zamknąć.<br />Pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1916">zabex</a> — 21 paź 2013, o 13:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-21T09:48:54+01:00</updated>
<published>2013-10-21T09:48:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53835#p53835</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53835#p53835"/>
<title type="html"><![CDATA[Re: Wyświetlanie aktualnej wartości TCNT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53835#p53835"><![CDATA[
<div class="quotetitle">zabex napisał(a):</div><div class="quotecontent"><br />Mirku o książce już myślałem ale skoro tak prosta (wydawało by się) sprawa jak wyświetlenie stanu licznika na LCD, jest tak skomplikowana to znowu zaczynam powątpiewać czy dobrze robię podchodząc do tego C<br /></div><br /><br />No ale zobacz sam sobie troszkę zaprzeczasz - bo skąd możesz wiedzieć i oceniać czy to jest proste czy nie - jeśli nie znasz w ząb podstaw języka C, a zabierasz się za jego naukę od tyłu ... no bo jak to inaczej nazwać ?<br /><br />po prostu ty na razie próbujesz działać na zasadzie porównań Bascoma do C. Czyli znalazłeś jakąś tam bibliotekę do LCD (nie ważne czy dobra czy zła - myślę nawet że dobra) tylko, że nie potrafisz się nią na tą chwilę kompletnie posłużyć tak od strony C .... bo wydaje się tobie że to powinno działać co najmniej podobnie jak w bascomie czyli<br /><br />LCD &quot;ala i as&quot;<br /><br />albo <br /><br />LCD zmienna<br /><br />zgadza się ?<br /><br />Bascom sam za ciebie zadba o typy i powoduje że człowiek się nieco rozleniwia i nawet nie zaczyna nauki Bascoma od poznania typów jakie tam są .... a też powinien.... <br /><br />Tymczasem jeśli w C zaczyna się uczyć człowiek po kolei i jak się należy - to okazuje się że C jest nawet prostszy niż Bascom z taką książką. To nie jest moja opinia tylko wielu już czytelników ...<br /><br />Ty oczywiście możesz uważać inaczej ....<br /><br />ale obecne twoje podejście to troszkę tak jakbyś się chciał nauczyć języka chińskiego poprzez napisanie napisanie od razu wypracowania w tym języku ale bez poznania jego podstaw, znaków itp .... uważasz że tak można ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 21 paź 2013, o 09:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wilu88]]></name></author>
<updated>2013-10-21T09:06:42+01:00</updated>
<published>2013-10-21T09:06:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53834#p53834</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53834#p53834"/>
<title type="html"><![CDATA[Re: Wyświetlanie aktualnej wartości TCNT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53834#p53834"><![CDATA[
Uwierz mi to jest proste jak korzystasz z dobrze napisanych i wytłumaczonych bibliotek. W twoim wypadku chyba trafiłeś na jakąś kiepską. z Czystym sumieniem polecam Mirkowe biblioteki dołączone do książki działają od strzała. Wszystkie projekty realizuje na tej bibliotece i nie ma żadnych problemów.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=743">Wilu88</a> — 21 paź 2013, o 09:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zabex]]></name></author>
<updated>2013-10-21T08:06:29+01:00</updated>
<published>2013-10-21T08:06:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53832#p53832</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53832#p53832"/>
<title type="html"><![CDATA[Re: Wyświetlanie aktualnej wartości TCNT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53832#p53832"><![CDATA[
Jeszcze raz proszę o wybaczenie ale to dopiero mój 4 dzień z C, także robię co mogę we własnym zakresie.<br />[syntax=c]#include &lt;HD44780.c&gt;[/syntax] ponieważ kompilator zgłaszał błędy kiedy próbowałem prawidłowo dołączyć plik nagłówkowy HD44780.h<br /><br />&quot;undefined reference to `LCD_Clear'<br />undefined reference to `LCD_Home'<br />undefined reference to `LCD_Initalize'<br />undefined reference to `LCD_WriteCommand'&quot;<br /><br />Bibliotekę pobrałem pierwszą lepszą jak to się mówi, którą widziałem w innych projektach, ale... Być może nie nadaje się do takich celów.<br />Starałem sam dojść do tego o co chodzi z tymi wskaźnikami o których mowa w błędzie ale chyba to za wysokie progi jeszcze dla mnie. <br />No nic... Póki co dziękuję za odpowiedzi.<br /><br />P.S. Mirku o książce już myślałem ale skoro tak prosta (wydawało by się) sprawa jak wyświetlenie stanu licznika na LCD, jest tak skomplikowana to znowu zaczynam powątpiewać czy dobrze robię podchodząc do tego C.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1916">zabex</a> — 21 paź 2013, o 08:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-21T07:44:27+01:00</updated>
<published>2013-10-21T07:44:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53831#p53831</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53831#p53831"/>
<title type="html"><![CDATA[Re: Wyświetlanie aktualnej wartości TCNT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53831#p53831"><![CDATA[
Nie wiem wprawdzie jakich bibliotek do LCD używasz ale chyba na pewno nie z bluebooka, to jednak widać że raczej nie opanowałeś jeszcze podstaw C bo próbujesz robić coś takiego:<br /><br />LCD_WriteText(licznik);<br /><br />podczas gdy licznik to u ciebie zmienna liczbowa i to jeszcze stosujesz typ unsigned char .... <br /><br />Ta funkcja LCD_WriteText() z samej nazwy widać, że potrzebuje argumentu w postaci wskaźnika na łańcuch tekstowy a nie zmiennej liczbowej.<br /><br />Musiałbyś zobaczyć czy w tej swojej bibliotece nie masz jakiejś funkcji typu: LCD_WriteInt() albo coś podobnego ...<br /><br />Ale żeby wytłumaczyć ci jak to działa i dlaczego ? to hmmmm trzeba by dużo napisać o korzystaniu z tablic, powiedzieć o typach zmiennych w C, powiedzieć o wskaźnikach no i w ogóle opowiedzieć jak działają tego typu biblioteki ....<br /><br />tymczasem widać, że raczej nie masz pod ręką bluebooka ? zgadza się ?<br /><br />dlatego polecam ci zaczynać przygodę z C właśnie z tą książką <br /><br /><!-- m --><a class="postlink" href="http://atnel.pl/mikrokontrolery-avr-jezyk-c.html" >http://atnel.pl/mikrokontrolery-avr-jezyk-c.html</a><!-- m --><br /><br />wtedy przesiadka z Bascoma będzie duuuuużo dużo łatwiejsza - zobaczysz <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: kilkunastu sekundach ]</span></strong><br /><br />o a do tego ... słusznie kolega wyżej zauważył - nie wiesz także o co chodzi w podziale projektu na pliki ..... *.c i *.h .... a wszystko to masz w książce.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 21 paź 2013, o 07:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[developer85]]></name></author>
<updated>2013-10-21T07:44:43+01:00</updated>
<published>2013-10-21T07:44:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53830#p53830</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53830#p53830"/>
<title type="html"><![CDATA[Re: Wyświetlanie aktualnej wartości TCNT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53830#p53830"><![CDATA[
W pierwszej kolejności zmień<br />[syntax=c]#include &lt;HD44780.c&gt;[/syntax]<br /><br />na [syntax=c]#include &lt;HD44780.h&gt;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=390">developer85</a> — 21 paź 2013, o 07:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[zabex]]></name></author>
<updated>2013-10-21T01:22:48+01:00</updated>
<published>2013-10-21T01:22:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53828#p53828</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53828#p53828"/>
<title type="html"><![CDATA[Wyświetlanie aktualnej wartości TCNT0]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4544&amp;p=53828#p53828"><![CDATA[
Witam. Jest to mój pierwszy post na Waszym forum także proszę o wyrozumiałość jeśli coś pokręciłem. Z góry zaznaczam, że moja przygoda z C dla AVR dopiero się zaczyna i to po przesiadce z Bascom-a. Ciężko &quot;zaskoczyć&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Mam kłopot z wyświetleniem aktualnej wartości TCNT0 na wyświetlaczu.<br />Przy próbie kompilacji otrzymuję komunikat:<br />&quot;passing argument 1 of 'LCD_WriteText' makes pointer from integer without a cast&quot;<br /><br />Zmiana LCD_WriteText na LCD_WriteData powoduje iż powyższy błąd nie występuje ale oczywiście na wyświetlaczu pojawia się nie to czego oczekuję, a spodziewam się wartości licznika 0-255.<br />Z tego co pamiętam w Bascom-ie nie było z tym kłopotów dlatego proszę o wytłumaczenie (jak krowie na rowie) dlaczego tak się dzieje i jak temu zaradzić. <br /><br />Kod programu:<br />                           <br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;HD44780.c&gt;<br /><br />unsigned char licznik;<br /><br />//------------------------------Główna funkcja main--------------------------------------------<br /><br />int main ()<br />{<br />DDRD = 0xFF; // Port D jako wyjście<br /><br />TCCR0 |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00);                           // Konfiguracja Timera0 (Prescaler /1024)<br />TIMSK |= (1&lt;&lt;TOIE0);        // Włączenie przerwania przy przepełnieniu licznika (Timer0 = 0xFF)<br />TIFR |= (1&lt;&lt;TOV0);         // Wyzerowanie flagi przepełnienia<br />sei();         // Włączenie globalnych przerwań<br /><br />LCD_Initalize();          // Inicjacja wyświetlacza LCD<br />LCD_Clear();// Czyszczenie wyświetlacza<br /><br />//------------------------------Pętla główna-----------------------------------------------------<br />while(1){<br />licznik = TCNT0;        // Przypisanie zmiennej licznik wartości Timer0<br />LCD_Home();// Ustawienie kursora na początku<br />LCD_WriteText(licznik);        // Wysłanie zawartości zmiennej licznik do wyświetlacza<br /><br />if (TIFR) {// Jeśli flaga ustawiona<br />PORTD ^= (1&lt;&lt;PD1);// Zmień wartość PD1 na przeciwną<br />_delay_ms(500);// Odczekaj 500ms<br />}<br />}<br />}<br />//-----------------------------Funkcje wykonywane po wystąpieniu przerwania-----------------------<br />ISR(TIMER0_OVF_vect){<br />PORTD ^= (1&lt;&lt;PD0);// Po wystąpieniu przerwania zmień stan PD0 na przeciwny<br />}[/syntax]<br /><br /><br />Poza wyświetlaniem wartości licznika reszta działa tak jak chciałem. Proszę wybaczyć, jeśli w kodzie programu coś źle opisałem. Staram się na początku nauki wszystko opisywać. Mam nadzieję, że poprawnie. <br />Pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1916">zabex</a> — 21 paź 2013, o 01:22</p><hr />
]]></content>
</entry>
</feed>