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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-01-28T17:11:09+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=17292&amp;mode</id>
<entry>
<author><name><![CDATA[wat1970]]></name></author>
<updated>2017-01-28T17:11:09+01:00</updated>
<published>2017-01-28T17:11:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=181133#p181133</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=181133#p181133"/>
<title type="html"><![CDATA[Re: Odpicowany PIC 16 bitowy – rozpoznanie bojem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=181133#p181133"><![CDATA[
To już jako ciekawostka techniczna, mianowicie PIC32MX250x128 (32 bitowiec) pędzony zegarem 50 MHz ma mniejszą wydajność w MIPS-ach niż PIC24HJ128GP502  (16 bitowiec) pędzony 40 MHz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2179">wat1970</a> — 28 sty 2017, o 17:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wat1970]]></name></author>
<updated>2017-01-22T18:10:47+01:00</updated>
<published>2017-01-22T18:10:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=180523#p180523</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=180523#p180523"/>
<title type="html"><![CDATA[Re: Odpicowany PIC 16 bitowy – rozpoznanie bojem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=180523#p180523"><![CDATA[
Pozwoliłem sobie stworzyć bloga na którym będę archiwizował moje postępy w zabawie z PIC-ami.<br />Na razie skupiam się na serii 16 bitowej, ponieważ jest to bardzo sympatyczna i ciekawa seria .<br />Blog traktuję jako pewnego rodzaju pamiętnik techniczny.<br /><!-- m --><a class="postlink" href="http://strefapic.blogspot.com/" >http://strefapic.blogspot.com/</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2179">wat1970</a> — 22 sty 2017, o 18:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wat1970]]></name></author>
<updated>2017-01-16T18:51:20+01:00</updated>
<published>2017-01-16T18:51:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179981#p179981</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179981#p179981"/>
<title type="html"><![CDATA[Re: Odpicowany PIC 16 bitowy – rozpoznanie bojem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179981#p179981"><![CDATA[
Warto wspomnieć jako ciekawostkę , że do mikrokontrolerów PIC serii 32 microchip udostępnia dedykowany kompilator języka C++.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2179">wat1970</a> — 16 sty 2017, o 18:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wat1970]]></name></author>
<updated>2017-01-11T10:42:25+01:00</updated>
<published>2017-01-11T10:42:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179612#p179612</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179612#p179612"/>
<title type="html"><![CDATA[Re: Odpicowany PIC 16 bitowy – rozpoznanie bojem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179612#p179612"><![CDATA[
<div class="quotetitle">SunRiver napisał(a):</div><div class="quotecontent"><br />Żołnierzu ...<br />odtajnione informacje : <!-- m --><a class="postlink" href="http://www.sunduino.pl/wordpress/sunduino32mx2-prototyp/" >http://www.sunduino.pl/wordpress/sundui ... -prototyp/</a><!-- m --><br /></div><br /><br />SunRiver wyrazy szacunku za Twoje artykuły na sunduino.pl, zaglądam tam często <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> i nie wykluczone, że ten artykuł Twój w którymś momencie otworzył mi klapki na PIC-e <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />PIC32MX na płytce uruchomieniowej/testowej możemy nabyć tutaj : <!-- m --><a class="postlink" href="https://kamami.pl/chipkit/560600-zestaw-uruchomieniowy-chipkit-dp32.html" >https://kamami.pl/chipkit/560600-zestaw ... -dp32.html</a><!-- m --><br />Co ciekawe pinologia PIC24 (16 bitowe) i PIC32MX (32 bity) jest w 95 % zgodna co umożliwia zamiennie stosowanie PIC24 i PIC32MX na płytkach.<br /><br />PIC32MX może troszeczkę onieśmielać tą swoją 32 bitowością w szczególności jak widzimy rejestr 32 bitowy i dostajemy oczopląsu <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> ale z tego co się pobieżnie zorientowałem na podstawie pliku nagłówkowego 32MX w kompilatorze ,PIC bardzo ładnie obudował strukturami rejestry czego efektem jest duża przyjazność i czytelność w pisaniu kodu dla tego fajowego procka.<br />W następnym kroku zabawy z PIC-ami na pewno rozpoznam 32MX ale póki co usiadłem na PIC24 i tutaj mam sporo jeszcze do rozpoznania <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />W następnym poście postaram się pokazać jak sterować portami i jak dokonfigurować PIC-a aby zechciał z nami poprawnie gadać. Tylko muszę sam to wnikliwie rozpoznać <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Ale już zasygnalizuję jako ciekawostkę , że mój PIC24 ma do każdego Portu przyporządkowany rejestr zatrzaskowy LAT, który ma podobno m.in za zadanie zmniejszenie zakłóceń w dystrybucji sygnałów czyli pewnie można to zrozumieć jako ogólnie większą odporność na zakłócenia PIC-a. Ale temat jest jeszcze do rozpoznania i dogłębnej analizy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2179">wat1970</a> — 11 sty 2017, o 10:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2017-01-10T22:51:21+01:00</updated>
<published>2017-01-10T22:51:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179597#p179597</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179597#p179597"/>
<title type="html"><![CDATA[Re: Odpicowany PIC 16 bitowy – rozpoznanie bojem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179597#p179597"><![CDATA[
Żołnierzu ...<br />Obiekt rozpoznany , zadanie wykonane ...<br />czas na nowe wyzwania ... <br /><br />mianowicie  PIC32MX250x128 , ten osobnik również ukrył się w magazynach DIP ..<br /><br />zadanie ...<br /><br />Wytropić, rozpoznać i wykorzystać do cna technologie ....<br /><br />odtajnione informacje : <!-- m --><a class="postlink" href="http://www.sunduino.pl/wordpress/sunduino32mx2-prototyp/" >http://www.sunduino.pl/wordpress/sundui ... -prototyp/</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 10 sty 2017, o 22:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[fobos]]></name></author>
<updated>2017-01-10T22:42:06+01:00</updated>
<published>2017-01-10T22:42:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179596#p179596</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179596#p179596"/>
<title type="html"><![CDATA[Re: Odpicowany PIC 16 bitowy – rozpoznanie bojem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179596#p179596"><![CDATA[
Dzięki  &quot;żołnierzu&quot; za rozpoznanie.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7548">fobos</a> — 10 sty 2017, o 22:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wat1970]]></name></author>
<updated>2017-01-10T20:42:23+01:00</updated>
<published>2017-01-10T20:42:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179588#p179588</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179588#p179588"/>
<title type="html"><![CDATA[Re: Odpicowany PIC 16 bitowy – rozpoznanie bojem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179588#p179588"><![CDATA[
Przepraszam już poprawiłem listing kodu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2179">wat1970</a> — 10 sty 2017, o 20:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jaglarz]]></name></author>
<updated>2017-01-10T17:53:04+01:00</updated>
<published>2017-01-10T17:53:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179569#p179569</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179569#p179569"/>
<title type="html"><![CDATA[Re: Odpicowany PIC 16 bitowy – rozpoznanie bojem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179569#p179569"><![CDATA[
Listingi wstawiamy tak: <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7402.html" >topic7402.html</a><!-- l --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=471">Jaglarz</a> — 10 sty 2017, o 17:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq5rix]]></name></author>
<updated>2017-01-10T17:17:21+01:00</updated>
<published>2017-01-10T17:17:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179568#p179568</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179568#p179568"/>
<title type="html"><![CDATA[Re: Odpicowany PIC 16 bitowy – rozpoznanie bojem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179568#p179568"><![CDATA[
Bardzo fajny opis - aż kusi, żeby samemu pogmerać.... dzięki!!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5966">sq5rix</a> — 10 sty 2017, o 17:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wat1970]]></name></author>
<updated>2017-01-17T12:50:40+01:00</updated>
<published>2017-01-10T16:36:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179564#p179564</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179564#p179564"/>
<title type="html"><![CDATA[Odpicowany PIC 16 bitowy – rozpoznanie bojem.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=17292&amp;p=179564#p179564"><![CDATA[
<strong>Przeciwnik</strong> : PIC24HJ128GP502 obudowa 28 nóżkowa DIP wąska .<br />Czemu ten model ?? ano ma na pokładzie dosyć bogate peryferia m.in CAN , DMA, zegar RTC i to mnie zachęciło <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Dokładna specyfikacja :<br /><!-- m --><a class="postlink" href="http://www.microchip.com/wwwproducts/en/PIC24HJ128GP502" >http://www.microchip.com/wwwproducts/en/PIC24HJ128GP502</a><!-- m --><br /><br />Żródło zakupu : ebay.com ok 6.8 USD za szt.<br /><br /><strong>Wybrane uzbrojenie przeciwnika :</strong><br />- architektura 16 bitowa (1 cykl na jedną instrukcję)<br />- CPU Speed (MIPS) 40 <br />- pamięć programu 128 kB<br />- RAM 8 kB<br />- Peryferia : 2xUART, 2xSPI, 1xI2C, CAN, RTC (zegar czasu rzeczywistego), IrDA (encoding and decoding hardware),LIN<br />- DMA 8 kanałów<br />- 5 x Timer 16 bitowy<br />- 2 x Timer 32 bitowy<br />- 1 x Timer dla RTC<br /><br />inne nie wymienione opcje.<br /><br /><strong>Zasoby wojsk własnych :</strong><br />- MPLAB-X IDE + MPLAB Code Configurator + kompilator XC16 pobrane ze strony producenta i zainstalowane na Linux Mint ver 17.3 Wszytko w wersji bezpłatnej, Trzeba jednak zauważyć, że kompilator w wersji bezpłatnej nie optymalizuje w pełni kodu wynikowego czego efektem jest mniej optymalny kod zajmujący więcej pamięci. Jest to jakaś wada ale mając na uwadze , że pamięci mamy sporo nie dostrzeżemy tego mankamentu w boju.<br />- programator PICKIT3 <br /><br /><strong>Pierwsze starcie : </strong><br /><br />- zdobycie i rozpoznanie planów przeciwnika w tym zapoznanie się z datasheet, dodatkowymi materiałami udostępnionymi na stronie producenta microchip.com .<br /><br />Wnioski z rozpoznania : o ile datasheet w wykonaniu Atmela  jest lekko strawny i przyjemny w odbiorze z wyczerpującą ilością informacji o tyle w przypadku PIC-a na pierwszy rzut oka delikatna niestrawność. PIC jednak dostarcza wyczerpujące informacje w dodatkowych materiałach i to już sprawia , że czujemy się lepiej.<br /><br />- ustawienie zegara : peryferia i zegar konfigurujemy  podobnie jak w ARM-ach ale w przypadku PIC zdecydowanie sympatyczniej i prościej to się dzieje (przynajmniej takie mam subiektywne odczucie) . Producent udostępnia wtyczkę do MPLAB-X IDE w postaci MPLAB Code Configurator, ustawiamy tutaj dowolne peryferia za pomocą klikania i pisma obrazkowego. Zdecydowanie ułatwia to początki nauki specyfiki PIC-ów ,ponieważ  wtyczka wypluwa gotowe kody konfiguracyjne i stąd możemy szybko zapoznać się np. z ustawieniem dowolnego Timera w dowolnej konfiguracji i specyfiką dyrektyw.<br /><br />Wszystko fajnie i nawet pięknie ale niestety wtyczka MPLAB Code Configurator była trochę wredna i nie obsugiwała mojego wypasionego mikrokontrolera. Spis obsługiwanych mikrokontrolerów przez wtyczkę jest na stronie producenta microchip.com/mcc.<br />W tym momencie  trochę się obraziłem na microchipa ale co począć przecież nie wyrzucę z tego powodu procka do śmieci ,będzie trudniej ale pójście na łatwiznę  podobno czasami nie popłaca.<br /><br />Zegar skonfigurowałem na 40 MHz przy użyciu  oscylatora wewnętrznego 7.37 MHz i PLL. Co ciekawe rdzeń procesora jest taktowany dwa razy szybciej czyli 80 MHz.<br />Najobszerniejsze i wyczerpujące informacje dotyczące ustawienia i trybów zegara uzyskałem z materiałów dodatkowych dostępnych  na stronie microchipa : <!-- m --><a class="postlink" href="http://ww1.microchip.com/downloads/en/devicedoc/70308b.pdf" >http://ww1.microchip.com/downloads/en/d ... 70308b.pdf</a><!-- m --><br />Na początku użyłem przykładowych kodów zawartych w w/w materiałach ale kompilator był uprzejmy mnie poinformować , że niektóre fragmenty kodu są już w przestarzałej konwencji i należy to zmienić więc zmieniłem.<br />Poniżej kod konfiguracyjny dla ustawienia zegara .<br />[syntax=c]#include &lt;stdio.h&gt;<br />#include &lt;stdlib.h&gt;<br />/*<br /> * dyrektywy ułatwiające dostęp do rejestrów,<br /> * plik znajduje się w katalogu kompilatora XC16<br /> */<br />#include &quot;p24HJ128GP502.h&quot; <br /><br />// to co możemy ustawić za pomocą '#pragma' jest dostępne w pliku xc16/docs/config_index.html<br />#pragma config JTAGEN = OFF<br />// Watchdog timer enable/disable by user software<br />#pragma config FWDTEN = OFF <br /><br />//********************Start Ustawień Zegara************************<br />/* <br /> * Fcy - zegar instrukcji , Fosc - zegar rdzenia (jest zawsze dwa razy wiekszy <br /> * od zegara instrukcji)) Ustawiamy zegar instrukcji na 40 Mhz z wewnętrznego <br /> * oscylatora 7.37 MHz w/g wzoru Fcy=Fosc/2 gdzie Fosc=Fin x (M/(N1+N2))<br /> * gdzie M=43, N1=2, N2=2 ustawiane w rejestrach PLLFBD/PLLPOST/PLLPRE<br /> */<br />//Select Internal FRC (Fast RC Oscillator)<br />#pragma config FNOSC = FRC // FOSCSEL--&gt;FNOSC=0b000 (Fast RC Oscillator (FRC))<br /><br />//Enable Clock Switching and Configure<br />#pragma config FCKSM = CSECMD //FOSC--&gt;FCKSM=0b01 <br />#pragma config OSCIOFNC = OFF //FOSC--&gt;OSCIOFNC=1<br /><br />int main(void) { <br /><br />    //Config PLL prescaler, PLL postscaler, PLL divisor<br />    PLLFBD = 41 ;                       //M=43 (0 bit to 2 stąd 41 = 43 patrz w rejestrze)<br />    CLKDIVbits.PLLPOST=0 ;    //N1=2 <br />    CLKDIVbits.PLLPRE=0 ;       //N2=2<br />    <br />    /* <br />     * UWAGA przerwania muszą być wyłączone podczas wywoływania poniższych <br />     * dwóch funkcji __builtin_write_...brak definicji w pliku nagłówkowym<br />     * to wewnętrzne funkcje kompilatora patrz help M-LAB IDE<br />     * i datasheet str 140(11.6.3.1 Control Register Lock)<br />     */<br />     //Initiate Clock Switch to Internal FRC with PLL (OSCCON--&gt;NOSC = 0b001)<br />    __builtin_write_OSCCONH(0x01); //tutaj argumentem jest wartość z NOSC<br />    //Start clock switching<br />    __builtin_write_OSCCONL(0x01);<br />    <br />     //Wait for Clock switch to occur<br />    while(OSCCONbits.COSC !=0b001);<br />    <br />    //Wait for PLL to lock<br />    while(OSCCONbits.LOCK !=1) {};<br />   //**************************Koniec ustawień zegara***********************<br />  /*<br />   * wyłączamy ADC , wszystkie piny chcemy mieć cyfrowe<br />   * pojedyńczo piny analogowe wyłączamy w rejestrze AD1PCFGL <br />   * Po resecie procka piny oznaczone ANx są w trybie analogowych wejść.<br />   */<br />     PMD1bits.AD1MD=1 ; //wyłączamy ADC<br />   /* <br />    * ustawiamy wszystkie piny analogowe (oznacznone ANx) jako cyfrowe<br />    * do zmiany mamy piny AN0-AN5 i AN9-AN12 co daje hex na 16 bitach = 0x1E3F<br />    */<br />     AD1PCFGL = 0x1E3F ;<br /><br />    while(1)<br />    {<br />    //Główna Pętla Programu<br />    }<br />        <br />    return 0;   <br />}[/syntax]<br /><br />W sumie bez użycia wspomagacza w postaci MPLAB Code Generator udało się całkiem w zgrabny sposób ustawić zegar . Było miło i przyjemnie bez zacinek, wiedza była przyswajalna a materiały w szczególności dodatkowe, wyczerpujące. Warto  zapoznać się z predefiniowanymi dyrektywami zawartymi w pliku nagłówkowym dotyczącym naszego mikrokontrolera (znajduje się w katalogu kompilatora XC16 ).<br /><br />Reasumując wejście w świat PIC-a było zaskakująco łatwe i przyjemne, zarówno od strony softu jak i sprzętu oraz dostępnych informacji, kuszą tutaj bogate peryferia w szczególności w wersjach 16 i 32 bitowych a dla hobbystów miłe , że to wszystko w przyjaznych obudowach DIP. Dotychczas nie wychylałem się z podwórka AVR-ów ale po pierwszym ataku na PIC24 widzę, że warto .<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2179">wat1970</a> — 10 sty 2017, o 16:36</p><hr />
]]></content>
</entry>
</feed>