User Tools

Site Tools


pl:avrc:avr

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
pl:avrc:avr [2012/08/31 22:59] – created mkuciapl:avrc:avr [2012/11/10 23:55] (current) – [Schemat połączenia] mkucia
Line 1: Line 1:
 +====== Co to jest AVR? ======
 +<html>
 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) -->  <svg    xmlns:dc="http://purl.org/dc/elements/1.1/"    xmlns:cc="http://creativecommons.org/ns#"    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    xmlns:svg="http://www.w3.org/2000/svg"    xmlns="http://www.w3.org/2000/svg"    version="1.1"    width="153.42693"    height="77.931587"    id="svg4290">   <defs      id="defs4292">     <linearGradient        id="linearGradient3922">       <stop          id="stop3924"          style="stop-color:#000000;stop-opacity:1"          offset="0" />     </linearGradient>     <clipPath        id="clipPath390">       <path          d="m 485.22,612.72 55.26,0 0,-26.4 -55.26,0 L 485.22,612.72 Z"          id="path392"          style="clip-rule:evenodd" />     </clipPath>     <clipPath        id="clipPath396">       <path          d="m 479.22,616.44 67.32,0 0,-33.84 -67.32,0 L 479.22,616.44 Z"          id="path398"          style="clip-rule:evenodd" />     </clipPath>     <clipPath        id="clipPath402">       <path          d="m 0,792.03 612,0 0,-792 L 0,0.03 0,792.03 Z"          id="path404" />     </clipPath>   </defs>   <metadata      id="metadata4295">     <rdf:RDF>       <cc:Work          rdf:about="">         <dc:format>image/svg+xml</dc:format>         <dc:type            rdf:resource="http://purl.org/dc/dcmitype/StillImage" />         <dc:title></dc:title>       </cc:Work>     </rdf:RDF>   </metadata>   <     transform="translate(-6.0269445,2.9572091)"      id="g3961">     <path        d="m 46.67324,21.703064 c 5.866367,12.86552 10.389379,23.17313 16.07224,35.64573 0.462706,1.01478 0.841284,1.91157 0.841284,1.99287 0,0.0905 -2.542624,0.14781 -6.560734,0.14781 l -6.560734,0 c -1.110178,-2.44058 -2.185269,-4.90431 -3.366614,-7.30848 -6.410924,-0.31677 -10.032601,-0.15156 -17.836842,-0.1159 -1.077251,2.53254 -2.230294,5.26685 -3.139983,7.42442 l -6.48433,0 c -5.773886,0 -6.484331,-0.0267 -6.484331,-0.24415 0,-0.13429 0.48597,-1.41793 1.079933,-2.85254 4.184261,-10.21188 8.84723,-21.67114 12.083053,-29.57077 1.743169,-4.25537 3.449897,-8.42282 3.792731,-9.26099 l 0.623334,-1.52396 6.693382,0 L 44.11901,16.037104 Z"        id="path3959"        style="fill:#000000;fill-opacity:1;fill-rule:nonzero" />     <path        d="m 30.422165,17.873624 c -0.342834,0.83818 -2.049562,5.00563 -3.792731,9.26099 -4.939185,11.86773 -7.713506,19.12344 -12.324527,30.15062 -0.375008,0.89386 -0.681833,1.68515 -0.681833,1.75842 0,0.0733 2.741744,0.13321 6.092766,0.13321 l 6.092765,0 c 0.824305,-1.95425 1.647242,-3.90909 2.476154,-5.86139 l 0.663831,-1.56303 c 6.121417,0.15017 12.417532,-0.36406 18.463377,0.116 1.252283,2.55904 2.120637,4.54962 3.366581,7.30844 l 6.167194,0 6.167194,0 -0.370677,-0.8206 C 56.817606,45.184474 49.940725,29.981044 44.602526,18.108094 l -0.790047,-1.75841 -6.383489,0 L 31.045499,16.349684 Z"        id="path3957"        style="fill:#000000;fill-opacity:1;fill-rule:nonzero" />     <path        d="m 37.743476,28.542744 c 1.972502,5.07944 3.801267,9.02202 5.881638,14.41762 l 0.104109,0.42983 c -3.990498,0 -7.980996,0 -11.971494,0 L 31.865,42.960364 c 2.320967,-5.17422 2.928019,-10.07561 5.60438,-14.57414 C 37.620133,28.385574 37.743476,28.456014 37.743476,28.542744 Z"        id="path3955"        style="fill:#000000;fill-opacity:1;fill-rule:nonzero" />     <path        d="m 37.127898,29.752704 c -1.666428,4.56982 -3.05667,8.18238 -4.779631,12.9732 l -0.107811,0.35168 c 3.439139,-0.19922 7.979612,0.38616 10.923007,-0.27353 -0.333549,-0.95599 -5.671259,-13.63367 -5.740931,-13.63538 C 37.375229,29.167514 37.242644,29.430324 37.127898,29.752704 Z"        id="path3953"        style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero" />     <path        d="m 63.631745,16.232434 c 3.932078,8.25475 6.696347,17.28641 10.928077,25.3279 3.252502,-7.369 5.981603,-13.88168 9.39207,-21.85014 l 1.53898,-3.59498 c 4.339077,0.25253 9.221934,-0.52573 13.33674,0.14111 -7.935702,17.84115 -14.611117,32.1844 -22.31838,49.29674 -1.33468,2.96535 -1.9151,4.097041 -2.08426,4.063891 -0.13747,-0.0269 -0.97249,-1.662431 -2.018527,-3.953531 C 65.26807,48.740984 56.424532,31.680854 50.273555,16.289354 54.836346,15.985674 57.753291,15.561574 63.631745,16.232434 Z"        id="path3951"        style="fill:#000000;fill-opacity:1;fill-rule:nonzero" />     <path        d="m 50.78635,16.623194 c 8.2917,18.54749 14.795391,33.04098 21.962073,48.80582 0.839879,1.84829 1.576429,3.41486 1.636789,3.48126 0.0604,0.0664 0.90842,-1.65684 1.88457,-3.82944 7.148499,-16.2287 15.403665,-33.35371 22.08795,-48.65469 -4.419902,-0.0926 -7.790493,-0.0293 -12.55314,0.002 l -1.6059,3.75129 c -3.537235,7.78257 -5.869569,14.57774 -9.70216,22.27222 C 70.147958,33.184474 66.807638,24.798524 63.2365,16.349994 59.274424,16.562524 54.285369,15.946704 50.78635,16.623194 Z"        id="path3949"        style="fill:#000000;fill-opacity:1;fill-rule:nonzero" />     <path        d="m 124.27933,16.198044 c 6.44584,0.8355 10.04246,6.99537 10.09847,12.34331 -0.003,2.55192 -0.58301,4.52368 -1.92324,6.53406 -2.17548,3.26328 -6.26582,6.0795 -10.40067,7.16092 l -1.57936,0.41306 0.3582,1.03469 c 1.92967,5.55291 3.62595,9.88361 5.56105,15.66248 0,0.0891 -2.67544,0.1303 -6.85232,0.10547 l -6.85233,-0.0407 c -1.30303,-5.0149 -2.61131,-10.02845 -3.91099,-15.04422 -0.0835,-0.32957 -0.17139,-0.35168 -1.39822,-0.35168 -0.86262,0 -1.36051,0.0666 -1.45971,0.19538 -2.48218,5.36769 -4.28597,9.49407 -6.857658,15.27664 l -6.61745,10e-4 c -5.99382,9.3e-4 -6.61745,-0.0228 -6.61745,-0.25199 0,-0.13915 1.38484,-3.35705 3.07741,-7.15089 5.311306,-11.99209 11.234608,-25.14566 15.686918,-35.14977 l 0.39533,-0.89874 C 111.39074,16.334554 117.89158,15.593544 124.27933,16.198044 Z"        id="path3947"        style="fill:#000000;fill-opacity:1;fill-rule:nonzero" />     <path        d="m 104.90523,17.248414 c -5.673715,12.63353 -10.139621,22.72007 -15.165708,33.95696 -1.82671,4.08344 -3.35667,7.54752 -3.39991,7.69796 -0.0739,0.25725 0.29292,0.27347 6.16554,0.27251 l 6.24415,-10e-4 c 2.304458,-5.08242 4.473808,-10.23264 6.857658,-15.27664 0.1033,-0.13407 0.65974,-0.19538 1.77296,-0.19538 1.55169,0 1.62629,0.0153 1.71148,0.35168 1.38076,5.32171 2.43581,9.37325 3.91098,15.04422 l 6.46076,0.0408 c 3.55342,0.0225 6.46076,0.016 6.46076,-0.0142 -1.97621,-5.79933 -3.82252,-10.29171 -5.79516,-16.49371 0,-0.23146 0.30555,-0.36619 1.59563,-0.7036 4.1515,-1.08577 8.23789,-3.89654 10.41694,-7.16517 2.06866,-3.10304 2.48409,-6.76041 1.20377,-10.59796 -1.122,-3.36303 -3.94533,-6.20963 -7.18624,-7.24547 C 117.94293,16.015064 114.57002,16.351054 105.30056,16.349984 Z"        id="path3945"        style="fill:#000000;fill-opacity:1;fill-rule:nonzero" />     <path        d="m 119.35634,24.572944 c 1.83945,0.54444 2.93411,2.35391 2.77187,4.5819 -0.18909,2.59666 -1.91594,4.38619 -5.15726,5.34449 -0.97463,0.28815 -1.65556,0.3506 -4.47773,0.41069 -3.14105,0.0669 -3.3283,0.0548 -3.3283,-0.21382 0,-0.15657 1.00436,-2.55324 2.23192,-5.32594 l 2.23192,-5.04126 2.43843,-0.004 C 117.86239,24.322184 118.73004,24.387574 119.35634,24.572944 Z"        id="path3943"        style="fill:#000000;fill-opacity:1;fill-rule:nonzero" />     <path        d="m 111.72148,29.655884 -2.22053,5.01405 3.00366,-0.0732 c 3.24322,-0.079 4.41284,-0.29998 6.09796,-1.15213 3.23909,-1.63799 4.2342,-5.37277 2.01986,-7.58076 -1.01302,-1.01011 -1.83463,-1.23126 -4.55524,-1.22609 L 113.94201,24.641754 Z"        id="path3910"        style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero" />     <       transform="matrix(2.6105858,0,0,-2.6105858,-1258.5335,1601.745)"        id="g386">       <         clip-path="url(#clipPath390)"          id="g388">         <           clip-path="url(#clipPath396)"            id="g394">           <             clip-path="url(#clipPath402)"              id="g400">             <path                d="m 532.739,606.769 2.4053,0 0,2.3194 -2.4053,0 L 532.739,606.769 Z"                id="path406"                style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" />             <               transform="translate(536.07,609.033)"                id="g408">               <path                  d="m 0,0 1.103,0 c 0.542,0 0.598,-0.297 0.598,-0.56 0,-0.105 0.019,-0.595 0.075,-0.787 l 0.56,0 0,0.07 c -0.149,0.07 -0.149,0.14 -0.168,0.315 l -0.019,0.56 C 2.112,0.052 1.944,0.122 1.738,0.192 1.963,0.315 2.206,0.49 2.206,0.945 c 0,0.664 -0.542,0.857 -1.103,0.857 l -1.552,0 0,-3.149 0.449,0 L 0,0 z m 0,1.434 1.14,0 C 1.364,1.434 1.738,1.399 1.738,0.91 1.738,0.455 1.383,0.367 1.065,0.367 L 0,0.367 0,1.434"                  id="path410"                  style="fill:#231f20;fill-opacity:1;fill-rule:evenodd;stroke:none" />             </g>             <               transform="scale(1.0337,0.96742)"                id="g412">               <                 transform="translate(519.327,633.052)"                  id="g414">                 <path                    d="m 0,0 c 1.808,0 3.274,-1.465 3.274,-3.274 0,-1.807 -1.466,-3.272 -3.274,-3.272 -1.807,0 -3.272,1.465 -3.272,3.272 C -3.272,-1.465 -1.807,0 0,0 Z"                    id="path416"                    style="fill:none;stroke:#231f20;stroke-width:0.43700001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.61299992;stroke-opacity:1;stroke-dasharray:none" />               </g>             </g>           </g>         </g>       </g>     </g>   </g> </svg>
 +</html>
 +AVR jest rodziną 8 bitowych mikrokontrolerów RISC opartych na zmodyfikowanej architekturze harwardzkiej stworzonych przez firmę Atmel w 1996 roku. Mikrokontrolery te bardzo szybko stały się popularne, ponieważ zawierały pamięć [[wppl>Pamięć_flash|flash]] co wówczas było rzadkością.
 +===== Co te terminy oznaczają? =====
 +
 +  - 8 bitów oznacza że układ jest w stanie w trakcie jednej instrukcji przeliczyć 8 bitową liczbę. Dopóki nie będziemy chcieli bawić się liczbami zmiennoprzecinkowymi nie powinno być z tym ograniczeniem problemu.
 +  - RISC (ang. Reduced Instruction Set Computer) układ realizuje małą liczbę instrukcji ale za to w jednym takcie (np. Intel posiada całą masę instrukcji jednak niektóre potrzebują kilku taktów aby zostały wykonane). Rozwiązanie ma swoje plusy, mniejszy stopień skomplikowania układu to niższy koszt produkcji i niższe zużycie energii.
 +  - Zmodyfikowana architektura harwardzka. Dociekliwych odsyłam do [[wp>Zmodyfikowana_architektura_harwardzka|Wikipedii]]
 +  - Dlaczego flash jest taki fajny? Początkowo układy były programowane za pomocą maski w trakcie produkcji ([[wp>mrom|MROM]]), potem można było programować układ już po produkcji, pamięć składała się z zintegrowanych rezystorów które wystarczyło przepalić aby zapisać informację ([[wp>Programmable_read-only_memory|PROM]]). Jeżeli zaistniałaby potrzeba zmiany programu, należałoby wymienić układ, więc rozwiązanie kosztowne. W pewnym momencie pojawiły się pamięci [[wp>eprom|EPROM]], wreszcie można było skasować program i nagrać nowy, jednak kasowanie wymagało  naświetlania ultrafioletem (układy z szybką, niektóre sklepy elektroniczne oferowały jeszcze niedawno takie kasowanie). Następnie pojawiły się pamięci [[wp>EEPROM|EEPROM]] (Electrically Erasable Programmable ROM) oraz [[wppl>Pamięć_flash|Flash]] (Flash jest pamięcią EEPROM, jednak w pamięci flash nie kasuje się całej pamięci na raz. Pamięć ta jest podzielona na sektory, a kasowanie usuwa informacje tylko z jednego sektora). Możliwość łatwego programowania i zmiany programu jest bardzo ważnym aspektem podczas pracy z uC.
 +
 +====== Dlaczego akurat AVR? ======
 +uC firmy Atmel są popularne w Polsce a więc: łatwo dostępne, stosunkowo tanie*, sporo projektów na elektrodzie jest oparte na avr'ach i stosunkowo dużo informacji na ich temat jest po polsku. Czasopisma branżowe również mocno wpłynęły na popularność akurat tych układów.
 +Pomimo różnic w budowie wewnętrznej większość mikroprocesorów jest podobnych a więc wiedza zdobyta na avr'ach będzie wykorzystywana przy innych układach.
 +
 +====== Warianty układów AVR ======
 +Układy z rodziny avr występują w przyrodzie w następujących wariantach (od największej mocy obliczeniowej, pamięci, częstotliwości taktowania):
 +  * AVR32 - 32 bitowa wersja, zaawansowane układy dla urządzeń multimedialnych.
 +  * Xmega - 16/8 bitowe układy wypełniające lukę pomiędzy zaawansowanymi AVR32 a ATmega.
 +  * ATmega - seria układów o szerokim wachlarzu zastosowań. Interesująca nas rodzina, wersje różnią się wielkością pamięci i peryferiami.
 +  * ATtiny - najprostsze układy, zastosowanie w prostych układach.
 +
 +====== Środowisko programistyczne ======
 +Podczas pracy z układem będziemy korzystać z zestawu narzędzi gnu avr-gcc. Konkretnie WinAVR (windows) oraz edytora eclipse.
 +[[http://sourceforge.net/projects/winavr/|Strona projektu WinAVR]]\\
 +[[http://www.eclipse.org/downloads/|Strona pobierania eclipse dla C/C++]]\\
 +[[http://avr-eclipse.sourceforge.net/wiki/index.php/Plugin_Download|Strona rozszerzenia eclipse AVR Eclipse]]\\
 +
 +====== Programator ======
 +Układy AVR posiadają możliwość programowania w systemie (ang. [[wppl>In-System_Programming|ISP In-system programming]]) Jeżeli ktoś posiada komputer ze złączem LPT (szeregowym) to może programować avr'y wprost z tego portu (programator szeregowy), jednak najlepiej zrealizować programator USB np. bardzo dobry AVRISPMKII lub USBasp. Programator pełni rolę "tłumacza interfejsów" pomiędzy komputerem (USB) a układem docelowym (SPI). \\
 +  * [[http://www.fischl.de/usbasp/|Strona domowa projektu USBasp]]
 +  * [[http://www.fourwalledcubicle.com/AVRISP.php|Strona domowa projektu AVRISP mkII]]
 +
 +
 +
 +===== Złącze programatora =====
 +{{ :integra:art001_kanda.png|}}
 +Zdjęcie przedstawia standardowe złącze programowania używane przy mikrokontrolerach AVR. Jest to złącze wprowadzone przez firmę [[http://www.kanda.com/|Kanda]] stąd często nazywa się je złączem Kanda lub złączem [[wppl>In-System_Programming|ISP]] od funkcji jaką pełni. Warto wiedzieć że wtyk  nazywa się złączem [[wp>Insulation-displacement_connector|IDC]] a gniazdo nazywamy "gniazdem wannowym" lub "wanienkowym".
 +Programowanie odbywa się przez interfejs [[wp>http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus|SPI]] który składa się z następujących sygnałów:
 +  * MOSI - (Master Output Slave Input) Sygnał danych z kierunkiem przesyłu od programatora (master) do układu (slave).
 +  * MISO - (Master Input Slave Output) Sygnał danych z kierunkiem przesyłu od układu do programatora.
 +  * SCK - (Serial ClocK) Sygnał zegarowy.
 +  * RST - Reset, aktywny stanem niskim. Układy AVR pracują w trybie programowania ISP tylko w "stanie resetu". (W zwykłym interfejsie SPI, sygnał ten nazywa się SS [Slave Selct])
 +Dodatkowo w złączu występują następujące sygnały:
 +  * LED - Nie używane w USBasp, w niektórych programatorach podczas programowania pojawia się na tym złączu stan wysoki dzięki czemu można sygnalizowac (np. za pomoca LEDa) że układ jest aktualnie programowany. Można pozostawić niepodłączone.
 +  * VCC - Zasilanie.
 +  * GND - Masa
 +
 +====== Programowanie ======
 +===== Schemat połączenia =====
 +<html>
 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg    xmlns:dc="http://purl.org/dc/elements/1.1/"    xmlns:cc="http://creativecommons.org/ns#"    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    xmlns:svg="http://www.w3.org/2000/svg"    xmlns="http://www.w3.org/2000/svg"    version="1.1"    width="349"    height="279.69998"    id="svg2">   <metadata      id="metadata8">     <rdf:RDF>       <cc:Work          rdf:about="">         <dc:format>image/svg+xml</dc:format>         <dc:type            rdf:resource="http://purl.org/dc/dcmitype/StillImage" />         <dc:title></dc:title>       </cc:Work>     </rdf:RDF>   </metadata>   <defs      id="defs6" />   <     transform="translate(5,5)"      id="g3848">     <path        d="m 322.5,260.39999 c 0.20395,-0.33 1.83989,-0.6 3.63541,-0.6 l 3.26459,0 0,-12 c 0,-7.6 -0.22,-12 -0.6,-12 -0.33,0 -0.6,-0.405 -0.6,-0.9 0,-0.78095 -2.5,-0.9 -18.9,-0.9 l -18.9,0 0,4.8 0,4.8 -14.4,0 -14.4,0 0,-4.8 0,-4.8 -19.5,0 -19.5,0 0,4.5 0,4.5 -27,0 -27,0 0,4.5 0,4.5 -67.8,0 -67.8,0 0,-44.7 0,-44.7 -8.85,-0.13267 -8.85,-0.13268 8.85,-0.18336 8.85,-0.18337 0,-8.68395 0,-8.68397 -8.85,-0.13267 -8.85,-0.13268 8.85,-0.18336 8.85,-0.18337 0,-13.18395 0,-13.18396 -8.85,-0.13268 -8.85,-0.13267 8.85,-0.18337 8.85,-0.18337 0,-8.66791 0,-8.667922 -8.85,-0.183366 -8.85,-0.183366 8.85,-0.132678 8.85,-0.132672 0,-13.199999 0,-13.2 -8.85,-0.132672 -8.85,-0.132678 8.85,-0.183366 8.85,-0.183366 0,-4.183956 0,-4.183961 -8.85,-0.132672 -8.85,-0.132678 8.85,-0.183366 8.85,-0.183366 0,-4.183958 0,-4.18396 -8.85,-0.132674 -8.85,-0.132675 8.85,-0.183365 8.85,-0.183366 0,-7.049815 0,-7.049816 -2.392166,0.22813 c -2.15241,0.205265 -2.498187,0.04186 -3.45,-1.630351 L 26.1,36.607586 l -9.75,-0.0038 -9.75,-0.0038 0,-18 0,-17.99999902 108,0 108,0 0,98.69999602 0,98.699997 19.5,0 19.5,0 0,-4.8 0,-4.8 14.4,0 14.4,0 0,4.8 0,4.8 19.5,0 19.5,0 0,-13.15956 c 0,-12.70558 -0.0421,-13.17293 -1.2203,-13.54688 -3.72633,-1.18269 -4.65278,-5.31279 -1.82585,-8.13971 3.3834,-3.3834 8.44615,-1.37767 8.44615,3.34615 0,2.30151 -2.12506,5.1 -3.87273,5.1 -0.80888,0 -0.92727,1.72353 -0.92727,13.5 l 0,13.5 -19.8,0 -19.8,0 0,4.2 0,4.2 19.8,0 19.8,0 0,3.6 c 0,2.8 0.2,3.6 0.9,3.6 0.6,0 0.9,0.6 0.9,1.8 0,1.2 -0.3,1.8 -0.9,1.8 -0.66667,0 -0.9,0.7 -0.9,2.7 0,2 0.23333,2.7 0.9,2.7 0.6,0 0.9,0.6 0.9,1.8 0,1.2 -0.3,1.8 -0.9,1.8 -0.66667,0 -0.9,0.7 -0.9,2.7 0,2 0.23333,2.7 0.9,2.7 0.6,0 0.9,0.6 0.9,1.8 0,1.2 -0.3,1.8 -0.9,1.8 -0.77,0 -0.9,1.73334 -0.9,12 l 0,12 3.6,0 c 2,0 3.6,0.26666 3.6,0.6 0,0.36815 -2.91181,0.6 -7.53541,0.6 C 324.79377,260.99999 322.26031,260.78782 322.5,260.39999 z m -155.1,-121.2 0,-111.599991 -66.6,0 -66.6,0 0,111.599991 0,111.6 66.6,0 L 167.4,250.79999 z m 54.6,99 0,-4.2 -26.7,0 -26.7,0 0,4.2 0,4.2 26.7,0 L 222,242.39999 z m 66.6,-0.3 c 0,-3.90418 -0.62527,-4.83473 -2.19433,-3.26567 -0.34888,0.34888 -2.09038,0.55138 -3.87,0.45 -2.77423,-0.15804 -3.23567,-0.35546 -3.23567,-1.38433 0,-1.02887 0.46144,-1.22628 3.23567,-1.38432 1.77962,-0.10139 3.52112,0.10111 3.87,0.45 1.56906,1.56906 2.19433,0.6385 2.19433,-3.26568 0,-3.90418 -0.62527,-4.83473 -2.19433,-3.26567 -0.34888,0.34888 -2.09038,0.55138 -3.87,0.45 -2.77423,-0.15804 -3.23567,-0.35546 -3.23567,-1.38433 0,-1.02887 0.46144,-1.22628 3.23567,-1.38432 1.77962,-0.10139 3.52112,0.10111 3.87,0.45 1.60173,1.60172 2.19433,0.63878 2.19433,-3.56568 0,-4.20446 -0.5926,-5.1674 -2.19433,-3.56567 -0.34888,0.34888 -2.09038,0.55138 -3.87,0.45 -2.77423,-0.15804 -3.23567,-0.35546 -3.23567,-1.38433 0,-1.02887 0.46144,-1.22628 3.23567,-1.38432 1.77962,-0.10139 3.52112,0.10111 3.87,0.45 1.60173,1.60172 2.19433,0.63878 2.19433,-3.56568 0,-4.20446 -0.5926,-5.1674 -2.19433,-3.56567 -0.34888,0.34888 -2.09038,0.55138 -3.87,0.45 -2.77423,-0.15804 -3.23567,-0.35546 -3.23567,-1.38433 0,-1.02887 0.46144,-1.22628 3.23567,-1.38432 1.77962,-0.10139 3.52112,0.10111 3.87,0.45 1.60173,1.60172 2.19433,0.63878 2.19433,-3.56568 0,-4.20446 -0.5926,-5.1674 -2.19433,-3.56567 -0.34888,0.34888 -2.09038,0.55138 -3.87,0.45 -2.77423,-0.15804 -3.23567,-0.35546 -3.23567,-1.38433 0,-1.02887 0.46144,-1.22628 3.23567,-1.38432 1.77962,-0.10139 3.52112,0.10111 3.87,0.45 1.56906,1.56906 2.19433,0.6385 2.19433,-3.26568 l 0,-3.9 -12.6,0 -12.6,0 0,3.9 c 0,3.35556 0.15077,3.9 1.08,3.9 0.594,0 1.36633,-0.28633 1.71629,-0.63629 0.34997,-0.34996 1.95647,-0.55246 3.57,-0.45 2.47161,0.15695 2.93371,0.37531 2.93371,1.38629 0,1.01098 -0.4621,1.22935 -2.93371,1.3863 -1.61353,0.10246 -3.22003,-0.10004 -3.57,-0.45 -0.34996,-0.34997 -1.12229,-0.6363 -1.71629,-0.6363 -0.93714,0 -1.08,0.55556 -1.08,4.2 0,3.64444 0.14286,4.2 1.08,4.2 0.594,0 1.36633,-0.28633 1.71629,-0.63629 0.34997,-0.34996 1.95647,-0.55246 3.57,-0.45 2.47161,0.15695 2.93371,0.37531 2.93371,1.38629 0,1.01098 -0.4621,1.22935 -2.93371,1.3863 -1.61353,0.10246 -3.22003,-0.10004 -3.57,-0.45 -0.34996,-0.34997 -1.12229,-0.6363 -1.71629,-0.6363 -0.93714,0 -1.08,0.55556 -1.08,4.2 0,3.64444 0.14286,4.2 1.08,4.2 0.594,0 1.36633,-0.28633 1.71629,-0.63629 0.34997,-0.34996 1.95647,-0.55246 3.57,-0.45 2.47161,0.15695 2.93371,0.37531 2.93371,1.38629 0,1.01098 -0.4621,1.22935 -2.93371,1.3863 -1.61353,0.10246 -3.22003,-0.10004 -3.57,-0.45 -0.34996,-0.34997 -1.12229,-0.6363 -1.71629,-0.6363 -0.93714,0 -1.08,0.55556 -1.08,4.2 0,3.64444 0.14286,4.2 1.08,4.2 0.594,0 1.36633,-0.28633 1.71629,-0.63629 0.34997,-0.34996 1.95647,-0.55246 3.57,-0.45 2.47161,0.15695 2.93371,0.37531 2.93371,1.38629 0,1.01098 -0.4621,1.22935 -2.93371,1.3863 -1.61353,0.10246 -3.22003,-0.10004 -3.57,-0.45 -0.34996,-0.34997 -1.12229,-0.6363 -1.71629,-0.6363 -0.92923,0 -1.08,0.54445 -1.08,3.9 0,3.35556 0.15077,3.9 1.08,3.9 0.594,0 1.36633,-0.28633 1.71629,-0.63629 0.34997,-0.34996 1.95647,-0.55246 3.57,-0.45 2.47161,0.15695 2.93371,0.37531 2.93371,1.38629 0,1.01098 -0.4621,1.22935 -2.93371,1.3863 -1.61353,0.10246 -3.22003,-0.10004 -3.57,-0.45 -0.34996,-0.34997 -1.12229,-0.6363 -1.71629,-0.6363 -0.92923,0 -1.08,0.54445 -1.08,3.9 l 0,3.9 12.6,0 L 288.6,241.79999 z m -66.6,-8.7 0,-4.2 19.8,0 19.8,0 0,-4.2 0,-4.2 -19.8,0 -19.8,0 0,-9 0,-9 -4.2,0 -4.2,0 0,13.5 0,13.5 -22.5,0 -22.5,0 0,3.9 0,3.9 26.7,0 L 222,233.39999 z m 39.6,0.3 0,-3.9 -19.5,0 -19.5,0 0,3.9 0,3.9 19.5,0 L 261.6,233.39999 z m 66.94286,3.04286 c 0.47142,-0.47143 0.85714,-1.84072 0.85714,-3.04286 0,-3.96246 0.32605,-3.9 -20.35714,-3.9 l -18.64286,0 0,3.9 0,3.9 18.64286,0 C 324.4,233.39999 327.83678,233.24892 328.54286,232.54285 Z M 213,211.49999 l 0,-13.5 4.5,0 4.5,0 0,-98.399994 L 222,1.2 l -107.4,0 -107.4,0 0,17.399999 0,17.4 9.381197,0 c 9.33559,0 9.388237,-0.0076 10.829045,-1.562253 1.142546,-1.232827 1.879004,-1.511917 3.492547,-1.323546 l 2.044699,0.238707 0.176256,-3.326454 0.176256,-3.326454 67.65,-0.152575 67.65,-0.152574 0,4.802574 0,4.802575 9.15,0.133162 9.15,0.133163 -9.15,0.182465 -9.15,0.182465 0,4.184372 0,4.184372 9.15,0.133163 9.15,0.133163 -9.15,0.182465 -9.15,0.182465 0,4.168744 0,4.168745 9.15,0.182465 9.15,0.182464 -9.15,0.133163 -9.15,0.133163 0,4.2 0,4.2 9.15,0.133164 9.15,0.133164 -9.15,0.18246 -9.15,0.182466 0,4.184375 0,4.18437 9.15,0.133164 9.15,0.133164 -9.15,0.18246 -9.15,0.182466 0,4.184376 0,4.18437 9.15,0.133164 9.15,0.133164 -9.15,0.18246 -9.15,0.182466 0,17.684375 0,17.684374 9.15,0.13316 9.15,0.13316 -9.15,0.18246 -9.15,0.18247 0,4.18438 0,4.18437 9.15,0.13316 9.15,0.13316 -9.15,0.18246 -9.15,0.18247 0,4.18438 0,4.18436 9.15,0.13317 9.15,0.13316 -9.15,0.18246 -9.15,0.18247 0,4.16874 0,4.16875 9.15,0.18247 9.15,0.18246 -9.15,0.13316 -9.15,0.13316 0,4.18437 0,4.18438 9.15,0.18247 9.15,0.18246 -9.15,0.13316 -9.15,0.13316 0,4.18437 0,4.18438 9.15,0.18247 9.15,0.18246 -9.15,0.13316 -9.15,0.13316 0,4.18437 0,4.18438 9.15,0.18247 9.15,0.18246 -9.15,0.13316 -9.15,0.13316 0,4.2 0,4.2 9.15,0.13317 9.15,0.13316 -9.15,0.18246 -9.15,0.18247 0,8.68437 0,8.68437 9.15,0.13317 9.15,0.13316 -9.15,0.18246 -9.15,0.18247 0,4.18437 0,4.18437 9.15,0.13317 9.15,0.13316 -9.15,0.18246 -9.15,0.18247 0,4.18437 0,4.18437 9.15,0.13317 9.15,0.13316 -9.15,0.18246 -9.15,0.18247 0,4.18437 0,4.18437 22.2,0 L 213,224.99999 z m 115.2,12.6 c 0,-0.495 0.27,-0.9 0.6,-0.9 0.9241,0 0.71027,-4.77544 -0.25714,-5.74286 -0.70608,-0.70607 -4.14286,-0.85714 -19.5,-0.85714 l -18.64286,0 0,4.2 0,4.2 18.9,0 C 325.7,224.99999 328.2,224.88095 328.2,224.09999 z m -66.6,-12.3 0,-4.2 -6.45,-0.12743 -6.45,-0.12742 6.45,-0.19287 6.45,-0.19287 0,-4.17971 0,-4.1797 -19.5,0 -19.5,0 0,8.7 0,8.7 19.5,0 L 261.6,215.99999 z m 66.96477,3.15 c 0.43839,-0.5775 0.80565,-2.4675 0.81615,-4.2 l 0.0191,-3.15 -19.5,0 -19.5,0 0,4.2 0,4.2 18.68386,0 C 326.17436,215.99999 327.83568,215.91045 328.56477,214.94999 z m 3.83523,-45.75 c 1.5385,-1.53849 1.52929,-3.62027 -0.0234,-5.28686 -1.59767,-1.7149 -3.28208,-1.66223 -5.10389,0.15959 -1.90101,1.90101 -1.86633,3.53057 0.10818,5.08373 C 329.36882,170.72014 330.86686,170.73313 332.4,169.19999 Z M 32.28,38.879999 C 32.676,38.483999 33,37.274142 33,36.19143 33,34.607622 32.715286,34.151402 31.543303,33.857254 28.151011,33.005842 26.081509,35.408837 27.864075,38.129376 28.898717,39.70844 31.08067,40.079329 32.28,38.879999 Z"        id="path3850"        style="fill:#000000" />     <text        x="253.36694"        y="195.29362"        id="text3846"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="253.36694"          y="195.29362"          id="tspan3848"          style="font-size:7.5px">1</tspan></text>     <text        x="253.36694"        y="232.87462"        id="text3854"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="253.36694"          y="232.87462"          id="tspan3856"          style="font-size:7.5px">9</tspan></text>     <text        x="253.36694"        y="223.48212"        id="text3858"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="253.36694"          y="223.48212"          id="tspan3860"          style="font-size:7.5px">7</tspan></text>     <text        x="253.36694"        y="214.03285"        id="text3862"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="253.36694"          y="214.03285"          id="tspan3864"          style="font-size:7.5px">5</tspan></text>     <text        x="253.36694"        y="204.68613"        id="text3866"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="253.36694"          y="204.68613"          id="tspan3868"          style="font-size:7.5px">3</tspan></text>     <text        x="293.36694"        y="195.29362"        id="text3870"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="293.36694"          y="195.29362"          id="tspan3872"          style="font-size:7.5px">2</tspan></text>     <text        x="293.36694"        y="232.87462"        id="text3874"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="293.36694"          y="232.87462"          id="tspan3876"          style="font-size:7.5px">10</tspan></text>     <text        x="293.36694"        y="223.48212"        id="text3878"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="293.36694"          y="223.48212"          id="tspan3880"          style="font-size:7.5px">8</tspan></text>     <text        x="293.36694"        y="214.03285"        id="text3882"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="293.36694"          y="214.03285"          id="tspan3884"          style="font-size:7.5px">6</tspan></text>     <text        x="293.36694"        y="204.68613"        id="text3886"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="293.36694"          y="204.68613"          id="tspan3888"          style="font-size:7.5px">4</tspan></text>     <text        x="326.75961"        y="169.00201"        id="text3890"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="326.75961"          y="169.00201"          id="tspan3892"          style="font-size:7.5px">+</tspan></text>     <text        x="322.77893"        y="160.51685"        id="text3894"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="322.77893"          y="160.51685"          id="tspan3896"          style="font-size:7.5px">+5V</tspan></text>     <text        x="321.20761"        y="267.36713"        id="text3898"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="321.20761"          y="267.36713"          id="tspan3900"          style="font-size:7.5px">GND</tspan></text>     <text        x="169.53635"        y="232.23685"        id="text3906"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="169.53635"          y="232.23685"          id="tspan3908"          style="font-size:7.5px">18</tspan></text>     <text        x="169.45212"        y="223.0972"        id="text3910"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="169.45212"          y="223.0972"          id="tspan3912"          style="font-size:7.5px">17</tspan></text>     <text        x="169.47226"        y="241.27032"        id="text3922"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="169.47226"          y="241.27032"          id="tspan3924"          style="font-size:7.5px">19</tspan></text>     <text        x="125.53635"        y="236.23685"        id="text3954"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="125.53635"          y="236.23685"          id="tspan3956"          style="font-size:7.5px">PB4(MISO)</tspan></text>     <text        x="125.45212"        y="227.0972"        id="text3958"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="125.45212"          y="227.0972"          id="tspan3960"          style="font-size:7.5px">PB3(MOSI)</tspan></text>     <text        x="125.47226"        y="245.27032"        id="text3970"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="125.47226"          y="245.27032"          id="tspan3972"          style="font-size:7.5px">PB5(SCK)</tspan></text>     <text        x="20.629248"        y="34.11058"        id="text3978"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="20.629248"          y="34.11058"          id="tspan3980"          style="font-size:7.5px">1</tspan></text>     <text        x="18.408178"        y="52.529602"        id="text3982"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="18.408178"          y="52.529602"          id="tspan3984"          style="font-size:7.5px">22</tspan></text>     <text        x="18.378881"        y="62.529602"        id="text3986"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="18.378881"          y="62.529602"          id="tspan3988"          style="font-size:7.5px">21</tspan></text>     <text        x="18.281836"        y="71.691559"        id="text3990"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="18.281836"          y="71.691559"          id="tspan3992"          style="font-size:7.5px">20</tspan></text>     <text        x="20.722631"        y="98.089859"        id="text3994"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="20.722631"          y="98.089859"          id="tspan3996"          style="font-size:7.5px">9</tspan></text>     <text        x="18.144506"        y="116.52677"        id="text3998"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="18.144506"          y="116.52677"          id="tspan4000"          style="font-size:7.5px">10</tspan></text>     <text        x="20.696997"        y="142.08986"        id="text4002"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="20.696997"          y="142.08986"          id="tspan4004"          style="font-size:7.5px">8</tspan></text>     <text        x="20.707983"        y="160.52676"        id="text4006"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="20.707983"          y="160.52676"          id="tspan4008"          style="font-size:7.5px">7</tspan></text>     <text        x="36.62925"        y="38.11058"        id="text4010"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="36.62925"          y="38.11058"          id="tspan4012"          style="font-size:7.5px">RESET</tspan></text>     <text        x="37.30674"        y="56.529602"        id="text4014"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="37.30674"          y="56.529602"          id="tspan4016"          style="font-size:7.5px">AGND</tspan></text>     <text        x="37.30674"        y="66.529602"        id="text4018"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="37.30674"          y="66.529602"          id="tspan4020"          style="font-size:7.5px">AREF</tspan></text>     <text        x="37.30674"        y="75.691559"        id="text4022"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="37.30674"          y="75.691559"          id="tspan4024"          style="font-size:7.5px">AVCC</tspan></text>     <text        x="37.141945"        y="102.08986"        id="text4026"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="37.141945"          y="102.08986"          id="tspan4028"          style="font-size:7.5px">XTAL1</tspan></text>     <text        x="37.141945"        y="120.52677"        id="text4030"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="37.141945"          y="120.52677"          id="tspan4032"          style="font-size:7.5px">XTAL2</tspan></text>     <text        x="36.944191"        y="146.08986"        id="text4034"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="36.944191"          y="146.08986"          id="tspan4036"          style="font-size:7.5px">GND</tspan></text>     <text        x="37.30674"        y="164.52676"        id="text4038"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="37.30674"          y="164.52676"          id="tspan4040"          style="font-size:7.5px">VCC</tspan></text>     <text        x="41.483047"        y="265.03427"        transform="translate(-5,-5)"        id="text4042"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="41.483047"          y="265.03427"          id="tspan4044"></tspan></text>     <text        x="33.26757"        y="261.03787"        id="text4046"        xml:space="preserve"        style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"><tspan          x="33.26757"          y="261.03787"          id="tspan4048"          style="font-size:7.5px">ATMEGA8</tspan></text>   </g> </svg>
 +</html>
 +
 +Uwaga! Zasilanie przez programator może nie wystarczyć (Ograniczenie prądowe na USB do 50mA wynikające z konfiguracji USBasp!), mi nie udało się zaprogramować układu korzystając z zasilania z szyny. Układ należy zasilać tylko napięciem __stabilizowanym__ 5V. W przypadku korzystania z zewnętrznego napięcia zasilania najlepiej odłączyć linię zasilającą programatora!
 +===== avrdude =====
 +Avrdude (AVR Downloader/UploaDEr) jest programem wchodzącym w skład pakietu WinAVR (gnu avr-gcc). Jest to aplikacja konsolowa (chociaż istnieją niezbyt dobre nakładki graficzne) i warto poznać sposób pracy z tym programem, pomimo iż pracując w środowisku eclipse jego praca nie będzie widoczna.\\
 +Użycie komendy avrdude w konsoli wyświetli nam listę argumentów jakie on przyjmuje. Ponieważ skupimy się na programowaniu układu ATmega8 programatorem AVRISPmkII należy zapamiętać podstawową listę argumentów:
 +<code>avrdude -pm8 -cavrispmkii -Pusb</code>
 +(Lub dla USBasp):
 +<code>avrdude -pm8 -cusbasp</code>
 +Co powinno nam zwrócić następującą informację:
 +<code>avrdude: AVR device initialized and ready to accept instructions
 +
 +Reading | ################################################## | 100% 0.02s
 +
 +avrdude: Device signature = 0x1e9307
 +
 +avrdude: safemode: Fuses OK
 +
 +avrdude done.  Thank you.
 +</code>
 +Informacja ta oznacza że układ odpowiedział i jest prawidłowo rozpoznany. Parametr -p służy do wyboru układu jaki programujemy a -c programatora.\\
 +Mogą się jednak zdarzyć błędy np:
 +<code>
 +avrdude: error: programm enable: target doesn't answer. 1 
 +avrdude: initialization failed, rc=-1
 +         Double check connections and try again, or use -F to override
 +         this check.
 +</code>
 +Lub:
 +<code>
 +avrdude: Device signature = 0x000000 
 +avrdude: Yikes!  Invalid device signature. 
 +         Double check connections and try again, or use -F to override 
 +         this check.
 +</code>
 +Takie komunikaty najczęściej oznaczają problem z połączeniem pomiędzy programatorem a układem docelowym.\\
 +Kolejnym ważnym parametrem jest -U który definiuje zadanie dla programu.
 +<code>
 +avrdude -pm8 -cavrispmkii -Pusb -U flash:r:PLIKPROGRAMUfl.hex
 +avrdude -pm8 -cavrispmkii -Pusb -U eeprom:w:PLIKPROGRAMUee.hex
 +avrdude -pm8 -cavrispmkii -Pusb -U hfuse:w:0x{wartość}:m -U lfuse:w:0x{wartość}:
 +</code>
 +Pierwsza linijka odczytuje zawartość pamięci flash uC i zapisuje ją w pliku PLIKPROGRAMUfl.hex. Druga linijka zapisuje zawartość pliku PLIKPROGRAMUee.hex do pamięci EEPROM mikrokontrolera. Trzecia linijka zapisuje górne (hfuse) i dolne (lfuse) fusebity do uC. Jak widać możemy definiować więcej niż jedno zadanie na raz. AVRdude podczas zapisu dodatkowo sprawdza jego poprawność (odczytuje to co zapisał i porównuje). Podczas zapisu fusebitów warto kożystać z gotowego tekstu generowanego przez skrypt na stronie [[http://www.engbedded.com/fusecalc/|fusecalc]].
 +===== fuse bits =====
 +Wielu początkujących nieświadomie (z niewiedzy) blokuje sobie układy więc warto zwrócić uwagę na kwestię fusebitów.\\
 +Fusebity to po polsku bity konfiguracyjne. Służą do zmiany parametrów pracy układu takich jak:
 +  * __Źródło sygnału zegarowego.__
 +  * Regulacja pracy układu nadzorującego zasilanie (niskie napięcia powodują nieprawidłową pracę uC, więc jest możliwe ustawienie układu tak aby samoczynnie resetował się w momencie zaniku napięcia [przydatne np. przy zasilaniu bateryjnym]).
 +  * Ustawianie adresu początku programu.
 +  * Włączanie/wyłączanie możliwości odczytywania programu przez ISP (zabezpieczenie przed piraceniem oprogramowania uC np. przez konkurencję)
 +  * Włączanie/wyłączanie watchdoga (resetuje uC jeżeli się zawiesi)
 +  * __Regulacja funkcji pinu 1 (reset lub pin logiczny)__
 +  * Oraz inne
 +Podkreślone parametry są bardzo ważne, jeżeli ustawimy źródło sygnału zegarowego na zewnętrzne to jeżeli nie mamy kwarcu, nasz układ nie ruszy (i nie będzie się dało go programować!). Jeżeli pin nr.1 zostanie ustawiony jako pin logiczny a nie reset to programowanie przez ISP nie będzie w ogóle możliwe! (Istnieją inne metody programowania dzięki którym można odblokować taki zablokowany reset np [[http://www.scienceprog.com/avr-serial-and-parallel-high-voltage-programmer/|programatorem szeregowym wysokonapięciowym]])\\
 +Na szczęście fusebity możemy policzyć za pomocą skryptu na stronie [[http://www.engbedded.com/fusecalc/|fusecalc]]. Polecam zajrzeć choćby żeby zobaczyć o co chodzi z tymi fusebitami. Problematyka fusebitów jest przedstawiona w artykule na stronie [[http://elportal.pl/index.php?module=ContentExpress&func=display&ceid=243|elportalu]] jednak przedstawione tam rozwiązania praktyczne dotyczą programatora szeregowego.