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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-08-18T16:45:48+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=3897&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-08-18T16:45:48+01:00</updated>
<published>2013-08-18T16:45:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46196#p46196</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46196#p46196"/>
<title type="html"><![CDATA[Re: jeszcze raz przerwanie od Timera w trybie CTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46196#p46196"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Ale przyznasz Mirku, że dzięki assemblerowi bardziej czujesz &quot;co jest w środku&quot;<br /></div><br /><br />Ale dlatego ja zawsze i to bez żadnej ironii czy prześmiewania - polecam (o ile ktoś ma czas) właśnie &quot;polizać&quot; że tak powiem procka od strony asemblera<br /><br />Tyle że to już moje zboczenie - że ja akurat procka muszę od asemblera choć troszkę poniuchać <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Z drugiej strony uwierz mi ... że nawet gdybym go nie znał - to na potrzeby pisania i tworzenia projektu wcale nie korciłoby mnie zajrzenie do tzw &quot;czarnych skrzynek&quot; języka C - jak one działają pod spodem. To tak samo jak z autami. Jeżdżę sobie nimi - ale czy zawracam sobie głowę tym jak działa w nich każdy szczegół ? absolutnie nie ..... bo jak miałbym poznać ten każdy szczegół zanim wsiądę to pewnie nie doczekałbym końca żywota zanim wszystko ogarnę <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Za to jak mam wolny czas i z czystej ciekawości - .... pewnie, że nieraz lubię poczytać a to o tym a to o siamtym <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> co jest w środku<br /><br />I tak samo podchodziłbym do programowania. Bo czasem (jak widzę po niektórych czytelnikach) .... jak się zatną na tym że nie wiedzą jak to działa w środku a czasem chcą aż zrozumieć wręcz co się dzieje i jak się dzieje tam w krzemie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> to koniec - nie mogą przejść dalej ...<br /><br />Tym bardziej byłoby takim osobom zrozumieć i nauczyć się programowania obiektowego - chociażby C# .... no bo tu próba rozgryzienia jak to działa pod spodem na początku nauki - żeby wyświetlić sam napis<br /><br />&quot;hello world&quot; <br /><br />zajęłaby na prawdę kilka lat <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />A tymczasem - dostajemy narzędzia - &quot;obiekty&quot;, &quot;klasy&quot; itp i mamy się tylko nauczyć jak się z nich korzysta a nie jak Bill napisał podstawową wersję Windows'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> — 18 sie 2013, o 16:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mg101]]></name></author>
<updated>2013-08-18T15:54:00+01:00</updated>
<published>2013-08-18T15:54:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46189#p46189</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46189#p46189"/>
<title type="html"><![CDATA[Re: jeszcze raz przerwanie od Timera w trybie CTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46189#p46189"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />NIC, bo w tym przypadku to ja traciłem tylko czas na przygotowywanie tablicy wektorów przerwań ...<br /></div><br />Ale przyznasz Mirku, że dzięki assemblerowi bardziej czujesz &quot;co jest w środku&quot;<br /><br />A cały problem wziął się z tego  że o ile np. <br />LED ON ; (str 125) <br /><strong>mogę rozłożyć na &quot;czynniki proste&quot;</strong><br />Tzn że LED ON; to przyjazna nazwa czegoś takiego PORTC &amp;=0111111;<br /><strong>to miałem problemy z</strong><br />ISR(TIMER0_COMP_vect) To przyjazna nazwa ...no właśnie czego?<br /><br />Do dzisiejszego dnia to mnie gryzło.<br />Jednak forum jest super!! Wielkie dzięki za korepetycje<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=683">mg101</a> — 18 sie 2013, o 15:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-08-18T14:40:53+01:00</updated>
<published>2013-08-18T14:40:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46185#p46185</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46185#p46185"/>
<title type="html"><![CDATA[Re: jeszcze raz przerwanie od Timera w trybie CTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46185#p46185"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Dla programisty 20 to przyjazna nazwa TIMER0_COMP_vect którą znajdzie w pdf-ie .To jest właśnie zaleta C. <br />Programista nie musi znać liczb 20 i 1250. Te 1250 &quot;obliczy&quot; kompilator który wie jak rządzić pamięcią.<br /></div><br /><br />No bardzo dobrze rozumujesz <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> bo o to chodzi<br /><br /><div class="quotetitle">mg101 napisał(a):</div><div class="quotecontent"><br />Z drugiej strony czy czegoś nie tracimy? Jak głęboko wchodzić w szczegóły?<br /></div><br /><br />No to spróbujmy dowiedzieć się co ew tracimy?<br /><br />NIC, bo w tym przypadku to ja traciłem tylko czas na przygotowywanie tablicy wektorów przerwań gdy pisałem taki sam kod w asemblerze. Owszem zajadły zwolennik tylko asemblera - powie, ależ to żaden kłopot można sobie makro napisać ... hyhy no można, tyle że jak ludzie używają prawie samych makr w asemblerze - i po jakimś czasie przechodzą na C i go zrozumieją - to później sami widzą - że tworząc te makra - robili coś na kształt języka C ... tyle że miało to bardziej coś wspólnego z wymyślaniem od nowa koła, które jak wiadomo wynaleziono już XXXX lat temu <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Owszem .... w innych przypadkach - bardziej zaawansowanych i czaso-zależnych procedur - pewnie że może się kiedyś przydać asembler - no ale to do wstawek .... albo do napisania np jakiejś funkcji czy całej procedury obsługi przerwania - o ile POTRAFIMY napisać to bardziej optymalnie niż kompilator <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... a z tym ma problem nawet wielu zagorzałych zwolenników asemblera niestety. Ja na początku też pisząc w C miałem koci nawyk, że co chwilę zaglądałem do pliku *.lss czyli listingu asemblerowego .... czy aby kompilator mnie &quot;nie oszukuje&quot; jak to niektórzy mówią albo czy nie robi czegoś gorzej ode mnie ..... i się mocno zdziwiłem bo w wielu rzeczach robił to lepiej ode mnie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> a nawet jak się trafiały momenty że gorzej - to co ? co na tym tracę - kilkanaście nanosekund podczas gdy mam wolnego czasu np kilkanaście milisekund ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Tak samo napisanie głupiej pętli for() z wieloma rarunkami i kawałem kodu w środku - to (jak dzisiaj na to patrzę) masakra - aby pisać to w asm. Owszem da się - i pisałem to często przecież - ale dzisiaj zamiast kilograma kodu źródłowego w asm wolę napisać<br /><br />for( i=0; i&lt;10; i++ )<br /><br />i po zawodach - nie interesuje mnie za każdym razem mielenie skokami branżowymi <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> — 18 sie 2013, o 14:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mg101]]></name></author>
<updated>2013-08-18T13:28:02+01:00</updated>
<published>2013-08-18T13:28:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46181#p46181</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46181#p46181"/>
<title type="html"><![CDATA[Re: jeszcze raz przerwanie od Timera w trybie CTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46181#p46181"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />No dokładnie - bo właśnie w asemblerze trzeba samemu się troszczyć o te numerki jak i o wiele innych rzeczy ... tylko po co tracić czas - mając C pod ręką ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /></div><br />Czy dobrze rozumuję?<br />1. Nastąpiło zrównanie Timera0 z OCR0<br />2. Procesor skoczy do programu ISR(TIMER0_COMP_vect) <br />   Procesor znajdzie w pamięci FLASH miejsce tego programu w sposób następujący<br />   Dla danego procesora (tu Atmega32) TIMER0_COMP_vect to konkretne miejsce w pamięci FLASH np nr 20. Pod adresem 20 jest adres np 1250 do programu obsługi tego przerwania. Dla programisty <strong>20</strong> to przyjazna nazwa  <strong>TIMER0_COMP_vect</strong> którą znajdzie w pdf-ie .To jest właśnie zaleta C. <br />  Programista nie musi znać liczb 20 i 1250. Te 1250 &quot;obliczy&quot; kompilator który  wie jak rządzić pamięcią.<br />Dalej sprawy są już oczywiste.<br /><br />Widzimy więc zalety języka C. Nie trzeba dokładnie znać hardware' u. Nawet nie była nam potrzebna wiedza, że  nastąpił skok do miejsca, którego adres obliczony jest w sposób pośredni. Z drugiej strony czy czegoś nie tracimy? Jak głęboko wchodzić w szczegóły?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=683">mg101</a> — 18 sie 2013, o 13:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-08-18T12:43:12+01:00</updated>
<published>2013-08-18T12:43:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46170#p46170</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46170#p46170"/>
<title type="html"><![CDATA[Re: jeszcze raz przerwanie od Timera w trybie CTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46170#p46170"><![CDATA[
<div class="quotetitle">mg101 napisał(a):</div><div class="quotecontent"><br />a C &quot;samo&quot; zrobi tak, żeby było dobrze.<br /></div><br /><br />No dokładnie - bo właśnie w asemblerze trzeba samemu się troszczyć o te numerki jak i o wiele innych rzeczy ... tylko po co tracić czas - mając C pod ręką ? <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> — 18 sie 2013, o 12:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mg101]]></name></author>
<updated>2013-08-18T12:39:41+01:00</updated>
<published>2013-08-18T12:39:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46169#p46169</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46169#p46169"/>
<title type="html"><![CDATA[Re: jeszcze raz przerwanie od Timera w trybie CTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46169#p46169"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />Tym bardziej, że programując w C - kogo to obchodzi jaka tam jest liczba <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Tylko jak mówię - przy programowaniu w C - jest to do niczego niepotrzebne <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /></div><br />Chyba na tym poprzestanę. Tu widać zalety C. Nie trzeba wchodzić w szczegóły, a C &quot;samo&quot; zrobi tak, żeby było dobrze.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=683">mg101</a> — 18 sie 2013, o 12:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-08-18T12:35:12+01:00</updated>
<published>2013-08-18T12:35:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46166#p46166</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46166#p46166"/>
<title type="html"><![CDATA[Re: jeszcze raz przerwanie od Timera w trybie CTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46166#p46166"><![CDATA[
<div class="quotetitle">mg101 napisał(a):</div><div class="quotecontent"><br />Wiadomo że _VECTOR(10) to konkretna liczba - podejrzewam że 10<br /><br />Czyli gdzieś powinno być <br />#define _VECTOR(10) 10<br /></div><br /><br />proponuję liznąć asemblera - np z książek BTC &quot;Mikrokontrolery ATmega w praktyce&quot;, spróbować RAZ napisać własny prosty program do migania diodą w asm to wiele rzeczy się wyjaśni jeśli chodzi o to - o co kolega pyta.<br /><br />Tym bardziej, że programując w C - kogo to obchodzi jaka tam jest liczba <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />A gdybyś zaczął od ASM to wiedziałbyś że jest to odpowiednia komórka w pamięci FLASH licząc od zerowej, w której jest skok do programu, a po niej są adresy skoków do przerwań zgodnie z kolejnością podaną w PDF każdego procka. Tylko jak mówię - przy programowaniu w C - jest to do niczego niepotrzebne <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> — 18 sie 2013, o 12:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mg101]]></name></author>
<updated>2013-08-18T11:59:54+01:00</updated>
<published>2013-08-18T11:59:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46153#p46153</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46153#p46153"/>
<title type="html"><![CDATA[jeszcze raz przerwanie od Timera w trybie CTC]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3897&amp;p=46153#p46153"><![CDATA[
Męczy mnie jedna rzecz.<br /><br /><strong>Nazwa programu obsługi przerwania </strong><br />ISR(TIMER0_COMPA_vect)<br /><br /><strong>Na podstawie</strong><br />#define TIMER0_COMP_vect_VECTOR(10)<br /><br /><strong>kompilator zamieni to na:</strong><br />ISR(_VECTOR(10))<br /><br />Wiadomo że _VECTOR(10) to konkretna liczba - podejrzewam że 10<br /><br /><strong>Czyli gdzieś powinno być</strong> <br />#define _VECTOR(10)10<br /><br /><strong>To gdzie to jest? W pliku iom32.h nie widzę tego.</strong><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=683">mg101</a> — 18 sie 2013, o 11:59</p><hr />
]]></content>
</entry>
</feed>