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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-04-28T15:42:30+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=11517&amp;mode</id>
<entry>
<author><name><![CDATA[bladekp]]></name></author>
<updated>2015-04-28T15:42:30+01:00</updated>
<published>2015-04-28T15:42:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11517&amp;p=127688#p127688</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11517&amp;p=127688#p127688"/>
<title type="html"><![CDATA[Re: Program nie wraca z podprogramu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11517&amp;p=127688#p127688"><![CDATA[
Dziękuję, to rozwiązało mój problem. Piwo dla Pana.<br /><br />EDIT: temat do zamknięcia<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9681">bladekp</a> — 28 kwi 2015, o 15:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[bladekp]]></name></author>
<updated>2015-04-28T07:53:53+01:00</updated>
<published>2015-04-28T07:53:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11517&amp;p=127662#p127662</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11517&amp;p=127662#p127662"/>
<title type="html"><![CDATA[Re: Program nie wraca z podprogramu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11517&amp;p=127662#p127662"><![CDATA[
Potwierdzam że jest coś takiego (na screenie tego dobrze nie widać ale fuse nazywa się M103C(albo jakoś podobnie)) i rzeczywiście u mnie jest zapalony, po powrocie z pracy przetestuję go bez tego bitu (z resztą bez sensu jest u mnie zapalony). Dziękuję za sugestię.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9681">bladekp</a> — 28 kwi 2015, o 07:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mmacura]]></name></author>
<updated>2015-04-28T07:47:28+01:00</updated>
<published>2015-04-28T07:47:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11517&amp;p=127661#p127661</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11517&amp;p=127661#p127661"/>
<title type="html"><![CDATA[Re: Program nie wraca z podprogramu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11517&amp;p=127661#p127661"><![CDATA[
Atmega128A ma bit kompatybilności z Atmega103 (wydaje mi się że jest on domyślnie włączony).<br />Może to dawać dziwne efekty.<br /><br />Marek<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9105">mmacura</a> — 28 kwi 2015, o 07:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[bladekp]]></name></author>
<updated>2015-04-27T22:57:53+01:00</updated>
<published>2015-04-27T22:57:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11517&amp;p=127654#p127654</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11517&amp;p=127654#p127654"/>
<title type="html"><![CDATA[Program nie wraca z podprogramu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11517&amp;p=127654#p127654"><![CDATA[
Witam serdecznie, mam następujący problem. Programuję procesor atmega128a, mam do niej podpięty kwarc 16MHz, fuse bity mam zadeklarowane tak jak na rys1.<br /><br /><img src="http://forum.atnel.pl/_obrazki/o/9681/5b179225721d1a0b48d0c00e8b44ad90.jpg" alt="Obrazek" /><br /><br />W konfiguracji kompilatora mam podpięte że częstotliwość pracy będzie 16MHz (-DF_CPU=16000000UL), również w pliku z funkcją main mam deklarację define F_CPU 16000000UL czyli według mnie z tym jest wszystko w porządku.<br /><br />Problem pojawia się gdy chcę z funkcji main wyjść do podprogramu i wrócić, jak widać na rys2. w funkcji main mam funkcję initSPI(); w linii 16, jest wywoływana derektywa CALL z miejscem mojego podprogramu w pamięci, wszystko jest ok.<br /><img src="http://forum.atnel.pl/_obrazki/o/9681/780ef72593b0cdbdddd2a7d11ef341ee.jpg" alt="Obrazek" /><br /><br />Wskaźnik stosu zmniejszył się o 2 czyli jest ok, ale do pamięci nie została zapisana poprawna wartość miejsca powrotu, zostały jakieś śmieci, adres powrotu powinien być w komórkach 10FC i 10FB. <br /><br /><img src="http://forum.atnel.pl/_obrazki/o/9681/abf7572070301812ba566032dd9ef7cd.jpg" alt="Obrazek" /><br /><br />Prosiłbym o wyrozumiałość, od niedawna mam styczność z procesorami avr. Jeżeli potrzebujecie dodatkowych informacji proszę pisać śmiało, zależy mi na rozwiązaniu tego problemu bo męczę się już długo i już nie wiem czego się chwycić.<br /><br />Pozdrawiam i dziękuję za wszelkie sugestie.<br /><br />EDIT: zastanawia mnie również dlaczego wskaźnik stosu po wywołaniu programu jest ustawiony na 10FD, domyślam się że komórki 10FE i 10FD tworzą adres powrotu z funkcji main zapisany przez cstartup (który z resztą też nie jest poprawny) natomiast do czego jest ostatnia wolna komórka pamięci, ta sierota na końcu 10FF?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9681">bladekp</a> — 27 kwi 2015, o 22:57</p><hr />
]]></content>
</entry>
</feed>