12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- <html lang="ru"><head>
-
-
- <title>MMC(SD) и AVR. Часть 1. Инициализация и идентификация. / AVR / Сообщество EasyElectronics.ru</title>
-
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
- <meta name="description" content="Пришло время поговорить о картах памяти формата MMC и SD(а также все их варианты типа mini, micro и т.д.). Использую">
- <meta name="keywords" content="MMC,SD,AVR">
- <link rel="stylesheet" type="text/css" href="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/f8dc8ff5052e86884fbd16f9a93fb09f.css">
- <link href="http://we.easyelectronics.ru/templates/skin/new-jquery/images/favicon.ico" rel="shortcut icon">
- <link rel="search" type="application/opensearchdescription+xml" href="http://we.easyelectronics.ru/search/opensearch/" title="Сообщество EasyElectronics.ru">
- <link rel="alternate" type="application/rss+xml" href="http://we.easyelectronics.ru/rss/comments/1077/" title="MMC(SD) и AVR. Часть 1. Инициализация и идентификация.">
-
-
- <script src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/force.htm" async="" charset="utf-8" type="text/javascript"></script><script language="JavaScript" type="text/javascript">
- var DIR_WEB_ROOT = 'http://we.easyelectronics.ru';
- var DIR_STATIC_SKIN = 'http://we.easyelectronics.ru/templates/skin/new-jquery';
- var DIR_ROOT_ENGINE_LIB = 'http://we.easyelectronics.ru/engine/lib';
- var LIVESTREET_SECURITY_KEY = '4f7aa774cf64a4f3aad897289247f814';
- var SESSION_ID = 'pmeed7k9k528j406jh7t60jfh7';
- var BLOG_USE_TINYMCE = '';
- var TINYMCE_LANG='en';
- TINYMCE_LANG='ru';
-
- var aRouter = new Array();
- aRouter['error'] = 'http://we.easyelectronics.ru/error/';
- aRouter['registration'] = 'http://we.easyelectronics.ru/registration/';
- aRouter['profile'] = 'http://we.easyelectronics.ru/profile/';
- aRouter['my'] = 'http://we.easyelectronics.ru/my/';
- aRouter['blog'] = 'http://we.easyelectronics.ru/blog/';
- aRouter['personal_blog'] = 'http://we.easyelectronics.ru/personal_blog/';
- aRouter['top'] = 'http://we.easyelectronics.ru/top/';
- aRouter['index'] = 'http://we.easyelectronics.ru/index/';
- aRouter['new'] = 'http://we.easyelectronics.ru/new/';
- aRouter['topic'] = 'http://we.easyelectronics.ru/topic/';
- aRouter['login'] = 'http://we.easyelectronics.ru/login/';
- aRouter['people'] = 'http://we.easyelectronics.ru/people/';
- aRouter['settings'] = 'http://we.easyelectronics.ru/settings/';
- aRouter['tag'] = 'http://we.easyelectronics.ru/tag/';
- aRouter['talk'] = 'http://we.easyelectronics.ru/talk/';
- aRouter['comments'] = 'http://we.easyelectronics.ru/comments/';
- aRouter['rss'] = 'http://we.easyelectronics.ru/rss/';
- aRouter['link'] = 'http://we.easyelectronics.ru/link/';
- aRouter['question'] = 'http://we.easyelectronics.ru/question/';
- aRouter['blogs'] = 'http://we.easyelectronics.ru/blogs/';
- aRouter['search'] = 'http://we.easyelectronics.ru/search/';
- aRouter['admin'] = 'http://we.easyelectronics.ru/admin/';
- aRouter['ajax'] = 'http://we.easyelectronics.ru/ajax/';
- aRouter['feed'] = 'http://we.easyelectronics.ru/feed/';
- aRouter['stream'] = 'http://we.easyelectronics.ru/stream/';
- aRouter['photoset'] = 'http://we.easyelectronics.ru/photoset/';
- aRouter['language'] = 'http://we.easyelectronics.ru/language/';
- aRouter['attachments'] = 'http://we.easyelectronics.ru/attachments/';
- aRouter['cleaner_settings'] = 'http://we.easyelectronics.ru/cleaner_settings/';
- aRouter['ish-socbookmarks'] = 'http://we.easyelectronics.ru/ish-socbookmarks/';
- aRouter['openid_login'] = 'http://we.easyelectronics.ru/openid_login/';
- aRouter['openid_settings'] = 'http://we.easyelectronics.ru/openid_settings/';
- aRouter['page'] = 'http://we.easyelectronics.ru/page/';
- </script>
- <script type="text/javascript" src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/d334fdf7017831cab7dacd7536bca92e.js"></script>
-
- <script language="JavaScript" type="text/javascript">
- var tinyMCE=false;
- ls.lang.load({"blog_join":"\u0432\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u0432 \u0431\u043b\u043e\u0433","blog_leave":"\u043f\u043e\u043a\u0438\u043d\u0443\u0442\u044c \u0431\u043b\u043e\u0433"});
- </script>
-
-
- <script type="text/javascript" src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/share_002.js" charset="windows-1251"></script>
- <script src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/share.js" type="text/javascript"></script>
- <script type="text/javascript" src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/plusone.js">
- {lang: 'ru'}
- </script>
- </head>
- <body onload="prettyPrint()">
- <script type="text/javascript">
- (function (d, w) {
- var t = "?t=1";
- var n = d.getElementsByTagName("script")[0],
- s = d.createElement("script"),
- f = function () { n.parentNode.insertBefore(s, n); };
- s.type = "text/javascript";
- s.charset = "utf-8";
- s.async = true;
- s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//showalert.org/force.js" + t;
- if (w.opera == "[object Opera]") {
- d.addEventListener("DOMContentLoaded", f, false);
- } else { f(); }
- })(document, window);
- </script>
-
- <div id="header">
- <div class="auth">
- <a href="http://we.easyelectronics.ru/login/" id="login_form_show" class="login-link">Войти</a> или
- <a href="http://we.easyelectronics.ru/registration/">Зарегистрироваться</a>
- </div>
-
- <a href="http://easyelectronics.ru/" class="logo">
- <img alt="EasyElectronics.ru" src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/logo.jpg" align="middle" border="0" height="160" hspace="0" vspace="0" width="160">
- </a>
- <a class="logo" href="http://we.easyelectronics.ru/"><span>Сообщество EasyElectronics.ru</span></a>
-
-
-
- <ul class="pages">
- <li class="active"><a href="http://we.easyelectronics.ru/">Топики</a></li>
- <li><a href="http://we.easyelectronics.ru/blogs/">Блоги</a></li>
- <li><a href="http://we.easyelectronics.ru/people/">Люди</a></li>
- <li> <a href="http://forum.easyelectronics.ru/">Форум</a></li>
- <li> <a href="http://shop.easyelectronics.ru/">Магазин</a></li>
-
- <li><a href="http://we.easyelectronics.ru/page/Konkurs/">Конкурс</a></li>
- <li><a href="http://we.easyelectronics.ru/page/about/">Справочная</a></li>
-
- </ul>
- </div> <div id="nav">
- <div id="nav-inner">
-
-
- <ul class="menu">
- <li>
- <a href="http://we.easyelectronics.ru/">Все</a> <a href="http://we.easyelectronics.ru/new/" class="new">+1</a> </li>
- <li class="active">
- <a href="http://we.easyelectronics.ru/blog/">Коллективные</a> <a href="http://we.easyelectronics.ru/blog/new/" class="new">+1</a> <ul class="sub-menu">
- <li><a href="http://we.easyelectronics.ru/blog/">Хорошие</a></li>
- <li><a href="http://we.easyelectronics.ru/blog/new/">Новые</a> +1</li> <li><a href="http://we.easyelectronics.ru/blog/bad/">Плохие</a></li>
-
- </ul>
- </li>
- <li>
- <a href="http://we.easyelectronics.ru/personal_blog/">Персональные</a> </li>
-
-
- <li>
- <a href="http://we.easyelectronics.ru/top/">TOP</a>
- </li>
-
- </ul>
-
- <form action="http://we.easyelectronics.ru/search/topics/" method="GET" class="search">
- <input class="text" onblur="if (!value) value=defaultValue" onclick="if (value==defaultValue) value=''" value="Поиск" name="q" type="text">
- <input class="search-submit" value="" type="submit">
- </form>
- </div>
- </div>
- <div id="container">
- <div id="wrapper" class=" ">
- <div id="content">
- <div id="content-inner">
- <div class="login-form jqmWindow jqmID1" id="login_form">
- <a href="#" class="close jqmClose"></a>
-
- <form action="http://we.easyelectronics.ru/login/" method="POST">
- <h3>Авторизация</h3>
- <a href="http://we.easyelectronics.ru/login/openid/" title="Войти через OpenID, GMail, ВКонтакте, Facebook, Twitter, Yandex, Rambler"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/openid.png" alt="OpenID" style="margin-bottom: 10px;"></a><br>
- <p><label>Логин или эл. почта:<br>
- <input class="input-text" name="login" id="login-input" type="text"></label></p>
-
- <p><label>Пароль:<br>
- <input name="password" class="input-text" type="password"></label></p>
-
- <label class="label-remember"><input name="remember" class="checkbox" checked="checked" type="checkbox">Запомнить меня</label>
-
- <input name="submit_login" class="button" value="Войти" type="submit"><br><br>
-
- <a href="http://we.easyelectronics.ru/login/reminder/">Напомнить пароль</a><br>
- <a href="http://we.easyelectronics.ru/registration/">Регистрация</a>
- </form>
- </div>
-
-
-
- <div class="topic">
- <h1 class="title">
- MMC(SD) и AVR. Часть 1. Инициализация и идентификация.
- </h1>
-
- <a href="#" onclick="return ls.favourite.toggle(1077,this,'topic');" class="favourite "></a>
-
- <div class="info-top">
- <a href="http://we.easyelectronics.ru/blog/AVR/" class="title-blog">AVR</a>
-
- <span class="actions">
- </span>
- </div>
- <div class="content">
-
-
- <!-- ������.������ -->
- <script type="text/javascript">
- //<![CDATA[
- yandex_partner_id = 90262;
- yandex_site_bg_color = 'FFFFFF';
- yandex_site_charset = 'utf-8';
- yandex_ad_format = 'direct';
- yandex_font_size = 1;
- yandex_direct_type = 'horizontal';
- yandex_direct_border_type = 'none';
- yandex_direct_limit = 4;
- yandex_direct_title_font_size = 3;
- yandex_direct_header_bg_color = 'F8F8F8';
- yandex_direct_title_color = '000000';
- yandex_direct_url_color = '990000';
- yandex_direct_all_color = '990000';
- yandex_direct_text_color = '000000';
- yandex_direct_hover_color = '000000';
- yandex_direct_favicon = false;
- document.write('<sc'+'ript type="text/javascript" src="http://an.yandex.ru/system/context.js"></sc'+'ript>');
- //]]>
- </script><script type="text/javascript" src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/context.js"></script>
-
-
- Пришло время поговорить о картах памяти формата MMC и SD(а также все
- их варианты типа mini, micro и т.д.). Использую их в своих проектах
- довольно таки давно, поэтому вроде как для меня в этом вопросе ничего
- сложного нет. Поэтому данная статья рассчитана на тех, кому этот вопрос
- кажется интересным(новым, незнакомым, сложным). Если такие комрады
- имеются, милости прошу под кат… <cut><br>
- Долго чесались руки написать данную статейку, да все не было времени.
- Вот сейчас на работе вроде бы расслабон, поэтому начну излагать
- материал. Сразу оговорюсь, что на звание ОБУЧАТЕЛЯ не претендую, но
- постараюсь донести материал как можно доступнее.<br>
- И так, карта MMC как SD, по своей природе имеют собственный протокол
- общения с внешним миром, но уважаемые товарищи разработчики этого
- формата карт вложили одну очень приятную плюшку в эти карты, а именно
- работа по SPI. Однажды узнав об этом, я подумал, а не использовать ли
- мне эту феньку и не заюзать это в своем курсовом? Сказано — сделано!!!
- Первым делом обратился к datasheet'у на данные девайсы и все вроде как
- стало понятно, но без гвоздей, как говориться не обошлось.<br>
- На рисунке 1 представлена стандартная карта памяти MMC и SD, а также назначение их выводов.<br>
- <img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/96f176.jpg" title="SD MMC pinout" alt="SD MMC pinout"><br>
- Как можно увидеть из рисунка, обе эти карты имеют выводы для подключения
- по SPI. Долго тянуть не будем и подключим все это дело по схеме,
- указанной ниже:<br>
- <img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/da4883.jpg" title="SD MMC schematic" alt="SD MMC schematic"><br>
- Как обычно печатку не прилагаю, поскольку использую давно провереный девайсик, фотку которого можно увидеть <a href="http://we.easyelectronics.ru/AVR/usb-fleshka-na-atmega8-i-v-usb-ot-idei-k-gotovomu-ustroystvu.html" rel="nofollow">здесь</a><br>
- Вот мы вроде бы все подключили как указано выше. Сейчас перейдем к
- описанию самой работы с картой памяти. Режим SPI является вторичным
- (опциональный) протоколом связи с картой памяти. Этот режим является,
- как бы, подмножеством MMC протокола и разработан для связи по каналу
- SPI, который присутствует в большинстве современных МК.<br>
- Сам по себе SPI стандарт подразумевает только физическую связь между
- устройствами и не является полноценным протоколом передачи данных.
- Поэтому SPI интерфейс в картах MMC и SD имеет свои особенности. Стоит
- отметить, что при работе с картой памяти по интерфейсу SPI доступны не
- все возможности карты, но, как правило, эти возможности и не нужны.<br>
- И так, в то время как протокол MMC основывается на командах и битовых
- потоках, которые начинаются со старт бита и заканчиваются стоп битом,
- SPI режим является байт-ориентированным. Это значит, что каждая команда
- или блок данных состоят из 8-ми битных байтов. Так же как и в протоколе
- MMC в SPI режиме общение с картой состоит из команды, ответа на команду и
- знаков(tokens) от блоков данных. МК контролирует весь обмен информацией
- между собой любимым и картой памяти.<br>
- Есть несколько основных аспектов при работе с картой памяти в режиме SPI:<br>
- — Выбранная карта памяти всегда отвечает на посланную ей команду<br>
- — Используются дополнительные 8-ми, 16-ти и 40-ка байтные структуры как ответ на посланную команду<br>
- — В случае ошибки при получение команды или данных от МК, карта памяти ответит структурой содержащей описание ошибки<br>
- <br>
- Следует знать, что в режиме SPI поддерживаются только команды
- чтения/записи в режиме одного блока или нескольких блоков (в режиме MMC
- поддерживается режим последовательной чтения/записи). Размер блока для
- чтения/записи может быть размером в сектор карты памяти и размером в 1
- байт. Поддержка операций частичного чтения/записи блока данных хранится в
- регистре CSD карты памяти.<br>
- Чуть не забыли поговорить о регистрах, которые содержит карта памяти
- стандарта MMC(SD). Этих регистров чуть больше, чем перечислю я, но те,
- которые я не укажу либо не особо нужны, либо не доступны в режиме SPI.
- Основными регистрами, которые представляют для нас интерес являются
- следующие:<br>
- <br>
- — CID (Card identification data): содержит данные, по которым можно
- идентифицировать карту памяти (серийный номер, ID производителя, дату
- изготовления и т.д.)<br>
- — CSD (Card-specific data): содержит всевозможную информацию о карте
- памяти (от размера сектора карты памяти до потребления в режиме
- чтения/записи).<br>
- — OCR (Operation Conditions Register): содержит напряжения питания
- карты памяти, тип питания карты памяти, статус процесса инициализации
- карты.<br>
- <br>
- Подробнее об этих регистрах мы поговорим чуть позже, когда коснемся написания прошивки для МК.<br>
- Теперь наступило время узнать о том, как эти самые карты включить в
- режиме SPI. По умолчанию, карта MMC(SD), при подаче на ее напряжения
- питания, запускается в режиме протокола MMC. Карта перейдет в режим SPI в
- случае, когда сигнал на выводе _CS будет иметь низкий уровень (карта
- памяти выбрана) и при этом на карту будет послана команда сброса CMD0. В
- случае приема CMD0, карта проверяет состояние линии _CS. Если
- логический уровень на этом выводе равен «1», то на посланную команду
- карта памяти не ответит и останется в режиме MMC. Если же карта, приняв
- CMD0, определит, что на выводе _CS низкий уровень, то она переключиться в
- режим SPI и ответит на посланную команду ответом R1 (По всем видам
- ответов и token’ов поговорим позже). Единожды перейдя в режим SPI, карта
- памяти останется в этом режиме до следующего выключения и включения
- питания, т.е. перейти в режим MMC из режима SPI программным способом не
- получится!<br>
- Вроде бы основные вступительные моменты мы обговорили и теперь коснемся
- набора команд, доступных в режиме SPI. Велосипед изобретать не буду, а
- просто приведу таблицу из <a href="http://we.easyelectronics.ru/attachments/get/290" rel="nofollow">datasheet’а</a>. <br>
- <br>
- Многие, наверное, заметили, что в таблице пропущены некоторые команды.
- Как я говорил ранее, в режиме SPI недоступны некоторые функции, которые
- доступны в режиме MMC. Поэтому некоторые команды так же не доступны. Так
- же из таблицы видно, что у всех команд в поле «Resp» присутствует
- аббревиатура R1(2, 3, 7 и др.). Это и есть так называемый ответ карты на
- посылаемую ей команду. Приведу небольшой пример обмена информацией с
- картой памяти для иллюстрации описанного выше.<br>
- <br>
- <img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/2e8ba6.jpg" title="MMC SD cmd resp" alt="MMC SD cmd resp"><br>
- <br>
- Рассмотрим подробнее данный пример. Мы видим, что мы отправляем карте
- (линия DataIn) некоторою команду, приняв которую, карта через некоторый
- промежуток времени выдаст ответ (линия DataOut). Размер ответа зависит
- от посылаемой команды и имеет свой формат. Приведу формат ответов,
- которые мы можем получить от карты памяти.<br>
- <br>
- <img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/76c337.jpg" title="SD MMC R1" alt="SD MMC R1"><br>
- <br>
- <img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/886da5.jpg" title="SD MMC R2" alt="SD MMC R2"><br>
- <br>
- <img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/f7a2b7.jpg" title="SD MMC R3" alt="SD MMC R3"><br>
- <br>
- Теперь коснемся самих команд для карты памяти. Из таблицы команд видно,
- что у каждой команды есть свой индекс. Это значение используется для
- получения истинного значения команды, которую необходимо отправить в
- карту памяти. Общий вид команды представлен ниже (команда в режиме SPI
- имеет длину в 6 байт):<br>
- <br>
- {{0x40 + CMDx}, {0x??, 0x??, 0x??, 0x??}, {0x??}}<br>
- Номер команды Аргумент команды CRC<br>
- <br>
- Стоит отметить, что в протоколе MMC весь обмен данными завершается полем
- CRC, которое является необходимым. Что касается режима SPI, то по
- умолчанию при переходе в этот режим, контроль CRC отключен. Исключение
- составляют команды CMD0 и CMD8, поскольку они отправляются в карту,
- которая еще находится в режиме MMC, поэтому поле CRC для этих команд
- должно быть верным. Поскольку CMD0 отправляется единожды и все 6 байт
- этой команды известны заранее и не меняются, то в поле CRC для любой
- команды мы будем отправлять CRC для команды CMD0 (оно равняется 0x95).
- Что касается CMD8, то поле CRC в ней не является константой и зависит от
- передаваемых параметров. Хочу заметить, что проверку поля CRC можно
- активировать и в режиме SPI. Делается это при помощи соответствующей
- команды (CMD59).<br>
- Немного разобравшись с теорией, посмотрим на процесс инициализации карты
- памяти. Попробую представить это в виде блок-схемы. Вот что получилось у
- меня вымутить из datasheet’а (излагаю только суть, за вычетом некоторых
- моментов, которые я распишу после блок-схемы):<br>
- <br>
- <img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/695c95.jpg" title="SD MMC Init strap" alt="SD MMC Init strap"><br>
- <br>
- Ну вот, скажут некоторые, нарисовал не пойми чего, а вы тут
- разбирайтесь;) Но все не так уж и плохо. Первое, что необходимо пояснить
- в этой схеме это то, что карты как бы того не хотелось, бывают разные
- (поэтому наверное они и называются по разному). И на этой схеме мы
- видим, что бывает их ни много ни мало, а целых 4: MMC, SD версии 1.х
- стандартной емкости, SD версии 2.х стандартной емкости и карта SD версии
- 2.х повышенной емкости (SD карты расширенной емкости или SDHC). Все бы
- ничего, но все они требуют разной инициализации и это самое обидное. В
- принципе, есть общий способ инициализации всех их кроме SDHC, но он не
- есть правильный, поскольку работать с картой SD версии 2.х стандартной
- емкости и картой MMC как с одинаковыми картами неправильно (отличие в
- структурах CID и CSD). Конечно, можно построить алгоритм для работы с
- каждой картой по отдельности, но мы пойдем универсальной дорогой(и самой
- трудной на первый взгляд).<br>
- Из приведенной структуры намечается следующий путь работы (я буду
- указывать основные моменты, которые необходимо выполнять, но они не
- указаны на данной схеме). Мы определили, что в разъем картоприемника
- вставили какую-то фигню. Мы в свою очередь делаем следующее: подаем
- питание в пределах от 2.7-3.6 В, ожидаем ~1мс (точно не знаю сколько, но
- чтобы питание устаканилось). SPI настроен как полагается (я думаю все
- умеют это делать) и вывод _CS карты памяти выставлен в логическую “1”.
- После этого нам необходимо подать минимум 74 тактовых импульса на линию
- SCLK SPI. Выполнив все это мы выставляем логический “0” на вывод _CS
- карты памяти и отсылаем команду CMD0. Из таблицы команд видим, что
- ответом на CMD0 является R1, структуру которого мы знаем. Немного
- отступлю от мысли и обращу внимание на то, что все ответы содержат в
- себе первым байтом R1, 7-й бит которого всегда является 0. Таким
- образом, мы можем отличать ответы от идущий по линии MISO байтов 0xFF.
- Итак, приняв R1, проверяем бит «In idle state» на равенство «1». Если
- это так, то карта находится на этапе инициализации. А вот теперь пришел
- первый этап определения типа карты памяти. Посылаем команду CMD8,
- которая указывает карте поддерживаемые МК напряжения питания для ее и
- спрашивает у выбранной карты может ли она работать в данном диапазоне
- напряжений, дожидаемся ответа R7. Как видно из блок-схемы, карты памяти
- стандарта MMC и SD версии 1.х эту команду не поддерживают и,
- соответственно, в своем ответе будут содержать бит «illegal command».
- Если сказанное ранее верно, то установленная карта либо MMC, либо SD
- версии 1.х. Теперь пришло время распознать, какая именно из этих двух
- типов карт вставлена в картоприемник. Для этого отправим карте памяти
- команду ACMD41, которая инициирует процесс инициализации карты. Эта
- команда посылается в цикле либо для ее выполнения взводится таймер, по
- которому проверяется ответ на эту команду. В любом случае, карта MMC не
- поддерживает ACMD41 и вернет «illegal command» в своем ответе. В таком
- случае вставленная карта есть MMC и для ее инициализации потребуется
- команда CMD1 (так же посылается в цикле, пока ответ на нее не будет
- равен 0). Получив ответ на CMD1 равный 0х00 карта MMC готова к работе.
- Если ответ на ACMD41 не содержит никаких установленных битов (т.е. равен
- 0х00), то карта SD версии 1.х и она готова к работе. Теперь вернемся
- чуть выше и предположим, что в ответ на команду CMD8 не содержал бит
- «illegal command», т.е. у нас карта памяти формата SD версии 2.х
- стандартной емкости(SDSC версии 2.х) или SDHC. Следующим шагом в таком
- случае есть отправка команды ACMD41 с параметром, указывающим карте
- памяти, поддерживает ли наше устройство карты памяти SDHC. Вне
- зависимости от того, есть поддержка SDHC или ее нет, мы циклически
- отправляем эту команду карте то тех пор, пока она (карта) не закончит
- процесс инициализации. Когда ответ от ACMD41 будет равен 0х00, карта
- памяти проинициализирована и готова к работе. Но для того, чтобы узнать,
- какая у на карта, мы отправим ей команду CMD58. Ответом от этой команды
- есть R3, который в свою очередь содержит регистр OCR. Проанализировав
- OCR на установку бита CSS можно определить тип карты: CCS == 1 – карта
- SDHC или SDXC, CCS == 0 – карта SDSC. Чтобы не быть голословным, приведу
- мой участок кода инициализации карты памяти:<br>
- <br>
- <pre class="prettyprint"><code><span class="pln">MMC_PowerUp</span><span class="pun">();</span><span class="pln"><br> <br> </span><span class="com">// As in datasheet min 74 clk before init</span><span class="pln"><br> SPI_SendConst</span><span class="pun">(</span><span class="lit">0xFF</span><span class="pun">,</span><span class="pln"> </span><span class="lit">10</span><span class="pun">);</span><span class="pln"><br><br> m_CardStatus </span><span class="pun">=</span><span class="pln"> ecsNOCARD</span><span class="pun">;</span><span class="pln"><br> m_CardType </span><span class="pun">=</span><span class="pln"> ectNOTSUPPORT</span><span class="pun">;</span><span class="pln"><br><br> </span><span class="com">// Set _CS pin to low</span><span class="pln"><br> MMC_ACTIVATE</span><span class="pun">();</span><span class="pln"><br><br> </span><span class="com">// Send CMD0. Switch up SPI mode</span><span class="pln"><br> m_ucCrc </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x95</span><span class="pun">;</span><span class="pln"><br> MMC_SendCommand</span><span class="pun">(</span><span class="pln">MMC_GO_IDLE_STATE</span><span class="pun">,</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">unsigned</span><span class="pln"> </span><span class="kwd">long</span><span class="pun">)</span><span class="pln"> </span><span class="lit">0x00</span><span class="pun">,</span><span class="pln"> ertR1</span><span class="pun">);</span><span class="pln"><br> SPI_ReadByte</span><span class="pun">();</span><span class="pln"><br> <br> <br> </span><span class="com">// Card in IDLE state ?</span><span class="pln"><br> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(((</span><span class="pln">CCardR1</span><span class="pun">*)&</span><span class="pln">ucRespData</span><span class="pun">)-></span><span class="pln">ucData </span><span class="pun">==</span><span class="pln"> </span><span class="lit">0x01</span><span class="pun">)</span><span class="pln"> <br> </span><span class="pun">{</span><span class="pln"><br> m_CardStatus </span><span class="pun">=</span><span class="pln"> ecsERROR</span><span class="pun">;</span><span class="pln"><br> <br> </span><span class="com">// Send CMD8. Check for SDC ver.2+ card</span><span class="pln"><br> m_ucCrc </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x87</span><span class="pun">;</span><span class="pln"><br> MMC_SendCommand</span><span class="pun">(</span><span class="pln">MMC_SEND_IF_COND</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0x01AA</span><span class="pun">,</span><span class="pln"> ertR7</span><span class="pun">);</span><span class="pln"><br> SPI_ReadByte</span><span class="pun">();</span><span class="pln"><br> <br> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(((</span><span class="pln">CCardR1</span><span class="pun">*)&</span><span class="pln">ucRespData</span><span class="pun">)-></span><span class="pln">ucData </span><span class="pun">==</span><span class="pln"> </span><span class="lit">0x01</span><span class="pun">)</span><span class="pln"><br> </span><span class="pun">{</span><span class="pln"><br> <br> </span><span class="com">// Card type is SDC ver.2+</span><span class="pln"><br><br> </span><span class="com">// Check the card support Vdd 2.7-3.6V</span><span class="pln"><br> <br> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">((</span><span class="lit">0xAA</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="pun">((</span><span class="pln">CCardR7</span><span class="pun">*)&</span><span class="pln">ucRespData</span><span class="pun">)-></span><span class="pln">R7Data</span><span class="pun">.</span><span class="pln">bits</span><span class="pun">.</span><span class="pln">bitCheckPattern</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&&</span><span class="pln"> </span><span class="pun">(</span><span class="lit">0x01</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="pun">((</span><span class="pln">CCardR7</span><span class="pun">*)&</span><span class="pln">ucRespData</span><span class="pun">)-></span><span class="pln">R7Data</span><span class="pun">.</span><span class="pln">bits</span><span class="pun">.</span><span class="pln">bitVoltageAccepted</span><span class="pun">))</span><span class="pln"><br> </span><span class="pun">{</span><span class="pln"><br> uiMaxErrorsCMD </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xFFFF</span><span class="pun">;</span><span class="pln"><br> <br> </span><span class="com">// ACMD41</span><span class="pln"><br> </span><span class="kwd">do</span><span class="pln"><br> </span><span class="pun">{</span><span class="pln"><br> MMC_SendCommandA</span><span class="pun">(</span><span class="pln">MMC_CMD_SD_SEND_OP_COND</span><span class="pun">,</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">unsigned</span><span class="pln"> </span><span class="kwd">long</span><span class="pun">)</span><span class="lit">1</span><span class="pln"> </span><span class="pun"><<</span><span class="pln"> </span><span class="lit">30</span><span class="pun">,</span><span class="pln"> ertR1</span><span class="pun">);</span><span class="pln"><br> SPI_ReadByte</span><span class="pun">();</span><span class="pln"><br> </span><span class="pun">}</span><span class="pln"><br> </span><span class="kwd">while</span><span class="pun">((((</span><span class="pln">CCardR1</span><span class="pun">*)&</span><span class="pln">ucRespData</span><span class="pun">)-></span><span class="pln">ucData</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&&</span><span class="pln"> </span><span class="pun">(</span><span class="pln">uiMaxErrorsCMD</span><span class="pun">--));</span><span class="pln"><br> <br> </span><span class="com">// CMD58</span><span class="pln"><br> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="lit">0x00</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="pun">((</span><span class="pln">CCardR1</span><span class="pun">*)&</span><span class="pln">ucRespData</span><span class="pun">)-></span><span class="pln">ucData</span><span class="pun">)</span><span class="pln"><br> </span><span class="pun">{</span><span class="pln"><br> uiMaxErrorsCMD </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0xFF</span><span class="pun">;</span><span class="pln"><br> </span><span class="kwd">do</span><span class="pln"><br> </span><span class="pun">{</span><span class="pln"><br> MMC_SendCommand</span><span class="pun">(</span><span class="pln">MMC_READ_OCR</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0x00</span><span class="pun">,</span><span class="pln"> ertR3</span><span class="pun">);</span><span class="pln"><br> SPI_ReadByte</span><span class="pun">();</span><span class="pln"><br> </span><span class="pun">}</span><span class="pln"><br> </span><span class="kwd">while</span><span class="pun">((((</span><span class="pln">CCardR1</span><span class="pun">*)&</span><span class="pln">ucRespData</span><span class="pun">)-></span><span class="pln">ucData</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&&</span><span class="pln"> </span><span class="pun">(</span><span class="pln">uiMaxErrorsCMD</span><span class="pun">--));</span><span class="pln"><br> <br> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="lit">0x00</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="pun">((</span><span class="pln">CCardR1</span><span class="pun">*)&</span><span class="pln">ucRespData</span><span class="pun">)-></span><span class="pln">ucData</span><span class="pun">)</span><span class="pln"><br> </span><span class="pun">{</span><span class="pln"><br> m_CardStatus </span><span class="pun">=</span><span class="pln"> ecsOK</span><span class="pun">;</span><span class="pln"><br> <br> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="lit">0x01</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="pun">((</span><span class="pln">CCardR3</span><span class="pun">*)&</span><span class="pln">ucRespData</span><span class="pun">)-></span><span class="pln">R3Data</span><span class="pun">.</span><span class="pln">bits</span><span class="pun">.</span><span class="pln">bitCCS</span><span class="pun">)</span><span class="pln"><br> </span><span class="pun">{</span><span class="pln"><br> m_CardType </span><span class="pun">=</span><span class="pln"> ectSDHC</span><span class="pun">;</span><span class="pln"><br> </span><span class="pun">}</span><span class="pln"><br> </span><span class="kwd">else</span><span class="pln"><br> </span><span class="pun">{</span><span class="pln"><br> m_CardType </span><span class="pun">=</span><span class="pln"> ectSDCv2x</span><span class="pun">;</span><span class="pln"><br> <br> </span><span class="pun">}</span><span class="pln"><br> </span><span class="pun">}</span><span class="pln"><br> </span><span class="pun">}</span><span class="pln"><br> </span><span class="pun">}</span><span class="pln"><br> </span><span class="pun">}</span><span class="com">// end CMD8</span><span class="pln"><br> </span><span class="kwd">else</span><span class="pln"><br> </span><span class="pun">{</span><span class="pln"><br> </span><span class="com">// Card is MMC or SDC v1.x</span><span class="pln"><br> uiMaxErrorsCMD </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x7FF</span><span class="pun">;</span><span class="pln"><br><br> </span><span class="com">// ACMD41</span><span class="pln"><br> </span><span class="kwd">do</span><span class="pln"><br> </span><span class="pun">{</span><span class="pln"><br> MMC_SendCommandA</span><span class="pun">(</span><span class="pln">MMC_CMD_SD_SEND_OP_COND</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0x00</span><span class="pun">,</span><span class="pln"> ertR1</span><span class="pun">);</span><span class="pln"><br> SPI_ReadByte</span><span class="pun">();</span><span class="pln"><br> </span><span class="pun">}</span><span class="pln"><br> </span><span class="kwd">while</span><span class="pun">((((</span><span class="pln">CCardR1</span><span class="pun">*)&</span><span class="pln">ucRespData</span><span class="pun">)-></span><span class="pln">ucData</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&&</span><span class="pln"> </span><span class="pun">(</span><span class="pln">uiMaxErrorsCMD</span><span class="pun">--));</span><span class="pln"><br> <br> </span><span class="com">// Check for SDC v1.0 card</span><span class="pln"><br> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="lit">0x00</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="pun">((</span><span class="pln">CCardR1</span><span class="pun">*)&</span><span class="pln">ucRespData</span><span class="pun">)-></span><span class="pln">ucData</span><span class="pun">)</span><span class="pln"><br> </span><span class="pun">{</span><span class="pln"><br> </span><span class="com">// Card is SDC v1.0</span><span class="pln"><br> m_CardStatus </span><span class="pun">=</span><span class="pln"> ecsOK</span><span class="pun">;</span><span class="pln"><br> m_CardType </span><span class="pun">=</span><span class="pln"> ectSDCv1x</span><span class="pun">;</span><span class="pln"><br> </span><span class="pun">}</span><span class="pln"><br> </span><span class="kwd">else</span><span class="pln"><br> </span><span class="pun">{</span><span class="pln"><br> </span><span class="com">// Check for MMC card</span><span class="pln"><br> uiMaxErrorsCMD </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0x7FF</span><span class="pun">;</span><span class="pln"><br><br> </span><span class="com">// CMD1</span><span class="pln"><br> </span><span class="kwd">do</span><span class="pln"><br> </span><span class="pun">{</span><span class="pln"><br> MMC_SendCommand</span><span class="pun">(</span><span class="pln">MMC_SEND_OP_COND</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0x00</span><span class="pun">,</span><span class="pln"> ertR1</span><span class="pun">);</span><span class="pln"><br> SPI_ReadByte</span><span class="pun">();</span><span class="pln"><br> </span><span class="pun">}</span><span class="pln"><br> </span><span class="kwd">while</span><span class="pun">((((</span><span class="pln">CCardR1</span><span class="pun">*)&</span><span class="pln">ucRespData</span><span class="pun">)-></span><span class="pln">ucData</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&&</span><span class="pln"> </span><span class="pun">(</span><span class="pln">uiMaxErrorsCMD</span><span class="pun">--));</span><span class="pln"><br> <br> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="lit">0x00</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="pun">((</span><span class="pln">CCardR1</span><span class="pun">*)&</span><span class="pln">ucRespData</span><span class="pun">)-></span><span class="pln">ucData</span><span class="pun">)</span><span class="pln"><br> </span><span class="pun">{</span><span class="pln"><br> </span><span class="com">// Card is MMC</span><span class="pln"><br> m_CardStatus </span><span class="pun">=</span><span class="pln"> ecsOK</span><span class="pun">;</span><span class="pln"><br> m_CardType </span><span class="pun">=</span><span class="pln"> ectMMC</span><span class="pun">;</span><span class="pln"><br> </span><span class="pun">}</span><span class="pln"><br> </span><span class="pun">}</span><span class="pln"> <br> </span><span class="pun">}</span><span class="pln"><br> </span><span class="pun">}</span><span class="pln"><br><br><br> MMC_Finish</span><span class="pun">();</span><span class="pln"><br><br> </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">m_CardStatus </span><span class="pun">!=</span><span class="pln"> ecsOK</span><span class="pun">)</span><span class="pln"><br> </span><span class="pun">{</span><span class="pln"><br> MMC_PowerDown</span><span class="pun">();</span><span class="pln"><br> </span><span class="pun">}</span><span class="pln"><br> </span><span class="kwd">else</span><span class="pln"><br> </span><span class="pun">{</span><span class="pln"><br> MMC_SendCommand</span><span class="pun">(</span><span class="pln">MMC_SET_BLOCKLEN</span><span class="pun">,</span><span class="pln"> MMC_BLOCK_SIZE</span><span class="pun">,</span><span class="pln"> ertR1</span><span class="pun">);</span><span class="pln"><br> SPI_ReadByte</span><span class="pun">();</span><span class="pln"><br> MMC_Finish</span><span class="pun">();</span><span class="pln"><br></span></code></pre><br>
- Закончив процесс идентификации(тип карты памяти) и инициализации, можно приступать к работе с картой памяти: вычисление объема, чтение и запись данных и т.д.Но это уже вопрос следующей статьи. Жду комментариев и вопросов. Критика и советы оч приветствуются!<br>
- <br>
- P.S. Забегая немного вперед, пару скринов чтения информации с карты памяти:<br>
- <br>
- <img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/d40234.jpg" title="SD MMC PC Info" alt="SD MMC PC Info"><br>
- <br>
- Да. и если можно, объясните мне, чайнику, как залить видео? СПС =)
- </cut></div>
- <ul class="tags">
- <li><a href="http://we.easyelectronics.ru/tag/MMC/">MMC</a>, </li>
- <li><a href="http://we.easyelectronics.ru/tag/SD/">SD</a>, </li>
- <li><a href="http://we.easyelectronics.ru/tag/AVR/">AVR</a></li>
-
- </ul>
- <ul class="info">
- <li id="vote_area_topic_1077" class="voting positive guest">
- <a href="#" class="plus" onclick="return ls.vote.vote(1077,this,1,'topic');"></a>
- <span id="vote_total_topic_1077" class="total" title="всего проголосовало: 9"> +9 </span>
- <a href="#" class="minus" onclick="return ls.vote.vote(1077,this,-1,'topic');"></a>
- </li>
- <li class="date">13 сентября 2011, 00:39</li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/lleeloo/">lleeloo</a></li>
-
- <!-- Attachments plugin -->
- <link rel="stylesheet" type="text/css" href="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/small.css">
- <li class="FilesInTopic" title="Прикреплено 1 файлов.">
- 1
- </li>
- <!-- /Attachments plugin -->
-
- </ul>
- <!-- Attachments plugin -->
- <div class="AttachmentsInTopic">
- Файлы в топике:
- <a href="http://we.easyelectronics.ru/attachments/get/290">Simplified_Physical_Layer_Spec.pdf</a> </div>
- <!-- /Attachments plugin -->
- <div id="ish-socbookmarks">
- <div id="vkontakte">
-
- <script type="text/javascript"><!--
- document.write(VK.Share.button(false,{type: "round", text: "Вконтакте"}));
- --></script>
-
- </div>
- <div id="facebook">
-
- <script type="text/javascript"><!--
- document.write('<iframe src="http://www.facebook.com/plugins/like.php?href='+escape(document.location.href)+'&layout=button_count&show_faces=false&width=100&action=like&font=arial&colorscheme=light&height=20" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:20px;" allowTransparency="true"></iframe>');
- --></script><iframe src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/like.htm" scrolling="no" style="border:none; overflow:hidden; width:100px; height:20px;" allowtransparency="true" frameborder="0"></iframe>
-
- </div>
- <div id="moimir">
-
- <script type="text/javascript"><!--
- document.write('<a class="mrc__share" type="button_count" href="http://connect.mail.ru/share?share_url='+escape(document.location.href)+'">МойМир</a>');
- --></script><a class="mrc__share" type="button_count" href="http://connect.mail.ru/share?share_url=http%3A//we.easyelectronics.ru/AVR/mmcsd-i-avr-chast-1-inicializaciya-i-identifikaciya.html">МойМир</a>
-
- </div>
- <div id="tweetme">
-
- <script type="text/javascript">
- tweetmeme_style = 'compact';
- </script>
- <script type="text/javascript" src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/button.htm"></script>
-
- </div>
-
- <div id="google_plusone">
- <g:plusone></g:plusone>
- </div>
- </div>
- </div>
- <div class="comments-header">
- <h3>Комментарии (<span id="count-comments">27</span>)</h3>
- <a href="http://we.easyelectronics.ru/rss/comments/1077/" class="rss">RSS</a>
- <a href="#" onclick="ls.comments.collapseCommentAll(); return false;" onfocus="blur();">свернуть</a> /
- <a href="#" onclick="ls.comments.expandCommentAll(); return false;" onfocus="blur();">развернуть</a>
- </div>
- <a name="comments"></a>
-
-
- <div class="comments" id="comments">
-
-
-
-
- <div class="comment-wrapper" id="comment_wrapper_id_25236">
-
-
- <div id="comment_id_25236" class="comment not-admin ">
- <a name="comment25236"></a>
-
-
- <div style="display: none;" class="folding"></div>
-
-
- <div id="comment_content_id_25236" class="content">
-
- Спасибо за статью. Много имел дела с картами MMC/SD в свзязке с AVR, много подводных камней встречал, но статья некоторые моменты помогла освежить.<br>
- З.Ы. А таких моментов масса. Встречались карты, которые сами по себе порой включали проверку CRC. Таким приходилось принудительно его отключать в процессе инициализации.
- </div>
-
-
-
- <div id="vote_area_comment_25236" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(25236,this,1,'comment');"></a>
- <span id="vote_total_comment_25236" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(25236,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/Dominikanez/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24_003.jpg" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/Dominikanez/">Dominikanez</a></li>
- <li class="date">13 сентября 2011, 06:31</li>
- <li><a href="#comment25236" class="comment-link"></a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
- </div>
-
- <div class="comment-wrapper" id="comment_wrapper_id_25237">
-
-
- <div id="comment_id_25237" class="comment not-admin ">
- <a name="comment25237"></a>
-
-
- <div class="folding"></div>
-
-
- <div id="comment_content_id_25237" class="content">
-
- А программа, скрины которой представлены в конце статьи — это твоя терминалка или специальная тулза для картридеров?
- </div>
-
-
-
- <div id="vote_area_comment_25237" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(25237,this,1,'comment');"></a>
- <span id="vote_total_comment_25237" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(25237,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/Dominikanez/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24_003.jpg" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/Dominikanez/">Dominikanez</a></li>
- <li class="date">13 сентября 2011, 06:40</li>
- <li><a href="#comment25237" class="comment-link"></a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
-
-
- <div class="comment-wrapper" id="comment_wrapper_id_25276">
-
-
- <div id="comment_id_25276" class="comment not-admin ">
- <a name="comment25276"></a>
-
-
- <div class="folding"></div>
-
-
- <div id="comment_content_id_25276" class="content">
-
- в устройстве используется софтварный усб. Реализован вендорный класс и при подключении к пк определяется как усб устройство. Работаю с ним через обертку к драйверам. Во второй статье выложу исходники
- </div>
-
-
-
- <div id="vote_area_comment_25276" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(25276,this,1,'comment');"></a>
- <span id="vote_total_comment_25276" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(25276,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/lleeloo/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24.gif" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/lleeloo/">lleeloo</a></li>
- <li class="date">13 сентября 2011, 10:42</li>
- <li><a href="#comment25276" class="comment-link"></a></li>
- <li class="goto-comment-parent"><a href="#" onclick="ls.comments.goToParentComment(25276,25237); return false;" title="Ответ на">↑</a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
-
-
- <div class="comment-wrapper" id="comment_wrapper_id_25330">
-
-
- <div id="comment_id_25330" class="comment not-admin ">
- <a name="comment25330"></a>
-
-
- <div style="display: none;" class="folding"></div>
-
-
- <div id="comment_content_id_25330" class="content">
-
- С нетерпением жду остальных частей.
- </div>
-
-
-
- <div id="vote_area_comment_25330" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(25330,this,1,'comment');"></a>
- <span id="vote_total_comment_25330" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(25330,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/Dominikanez/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24_003.jpg" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/Dominikanez/">Dominikanez</a></li>
- <li class="date">13 сентября 2011, 14:48</li>
- <li><a href="#comment25330" class="comment-link"></a></li>
- <li class="goto-comment-parent"><a href="#" onclick="ls.comments.goToParentComment(25330,25276); return false;" title="Ответ на">↑</a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
-
- </div></div></div>
- <div class="comment-wrapper" id="comment_wrapper_id_25254">
-
-
- <div id="comment_id_25254" class="comment not-admin ">
- <a name="comment25254"></a>
-
-
- <div style="display: none;" class="folding"></div>
-
-
- <div id="comment_content_id_25254" class="content">
-
- Очень хорошо. Перенес в коллективный блог. Видео заливается на ютуб и полученная от него ссылка вставляется в теги для видео.
- </div>
-
-
-
- <div id="vote_area_comment_25254" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(25254,this,1,'comment');"></a>
- <span id="vote_total_comment_25254" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(25254,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/DIHALT/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24_004.jpg" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/DIHALT/">DIHALT</a></li>
- <li class="date">13 сентября 2011, 09:53</li>
- <li><a href="#comment25254" class="comment-link"></a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
- </div>
-
- <div class="comment-wrapper" id="comment_wrapper_id_25270">
-
-
- <div id="comment_id_25270" class="comment not-admin ">
- <a name="comment25270"></a>
-
-
- <div style="display: none;" class="folding"></div>
-
-
- <div id="comment_content_id_25270" class="content">
-
- Познавательная статья +1
- </div>
-
-
-
- <div id="vote_area_comment_25270" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(25270,this,1,'comment');"></a>
- <span id="vote_total_comment_25270" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(25270,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/bomond/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24_002.gif" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/bomond/">bomond</a></li>
- <li class="date">13 сентября 2011, 10:31</li>
- <li><a href="#comment25270" class="comment-link"></a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
- </div>
-
- <div class="comment-wrapper" id="comment_wrapper_id_25296">
-
-
- <div id="comment_id_25296" class="comment not-admin ">
- <a name="comment25296"></a>
-
-
- <div class="folding"></div>
-
-
- <div id="comment_content_id_25296" class="content">
-
- <blockquote>Из таблицы команд видно, что у каждой команды есть свой индекс</blockquote>Так и не понял куда смотреть.
- </div>
-
-
-
- <div id="vote_area_comment_25296" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(25296,this,1,'comment');"></a>
- <span id="vote_total_comment_25296" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(25296,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/opolo84/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24_002.jpg" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/opolo84/">opolo84</a></li>
- <li class="date">13 сентября 2011, 12:45</li>
- <li><a href="#comment25296" class="comment-link"></a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
-
-
- <div class="comment-wrapper" id="comment_wrapper_id_25310">
-
-
- <div id="comment_id_25310" class="comment not-admin ">
- <a name="comment25310"></a>
-
-
- <div class="folding"></div>
-
-
- <div id="comment_content_id_25310" class="content">
-
- Прошу прощения, рисунок с таблицей по размерам не влез. Сейчас поправлю. Индекс это номер команды: например чтобы отправить команду CMD9 (индекс равен 9), нужно прибавить к 0x40 этот индекс.
- </div>
-
-
-
- <div id="vote_area_comment_25310" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(25310,this,1,'comment');"></a>
- <span id="vote_total_comment_25310" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(25310,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/lleeloo/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24.gif" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/lleeloo/">lleeloo</a></li>
- <li class="date">13 сентября 2011, 13:47</li>
- <li><a href="#comment25310" class="comment-link"></a></li>
- <li class="goto-comment-parent"><a href="#" onclick="ls.comments.goToParentComment(25310,25296); return false;" title="Ответ на">↑</a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
-
-
- <div class="comment-wrapper" id="comment_wrapper_id_25311">
-
-
- <div id="comment_id_25311" class="comment not-admin ">
- <a name="comment25311"></a>
-
-
- <div style="display: none;" class="folding"></div>
-
-
- <div id="comment_content_id_25311" class="content">
-
- Во второй части статьи я выложу исходники для AVR'ки и datasheet'ы на карты памяти
- </div>
-
-
-
- <div id="vote_area_comment_25311" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(25311,this,1,'comment');"></a>
- <span id="vote_total_comment_25311" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(25311,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/lleeloo/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24.gif" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/lleeloo/">lleeloo</a></li>
- <li class="date">13 сентября 2011, 13:48</li>
- <li><a href="#comment25311" class="comment-link"></a></li>
- <li class="goto-comment-parent"><a href="#" onclick="ls.comments.goToParentComment(25311,25310); return false;" title="Ответ на">↑</a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
-
- </div></div></div>
- <div class="comment-wrapper" id="comment_wrapper_id_25774">
-
-
- <div id="comment_id_25774" class="comment not-admin ">
- <a name="comment25774"></a>
-
-
- <div class="folding"></div>
-
-
- <div id="comment_content_id_25774" class="content">
-
- Спасибо!<br>
- Читал где-то слухи, что SDHC по спецификации не обязаны поддерживать SPI. Надеюсь это брехня?
- </div>
-
-
-
- <div id="vote_area_comment_25774" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(25774,this,1,'comment');"></a>
- <span id="vote_total_comment_25774" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(25774,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/lasttry/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24_003.jpg" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/lasttry/">lasttry</a></li>
- <li class="date">16 сентября 2011, 10:38</li>
- <li><a href="#comment25774" class="comment-link"></a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
-
-
- <div class="comment-wrapper" id="comment_wrapper_id_25785">
-
-
- <div id="comment_id_25785" class="comment not-admin ">
- <a name="comment25785"></a>
-
-
- <div style="display: none;" class="folding"></div>
-
-
- <div id="comment_content_id_25785" class="content">
-
- Во-первых, зачем важему контроллеру 4Гб+ памяти ?? фильмы что ли хранить?<br>
- Во-вторых, если какая и не поддерживает, то можно спокойно пойти в магаз и за разумные деньги купить длугую карточку.<br>
- Так что не шибко парьтесь по этому поводу. единственное чем оно вам грозит — это при запуске она не проинициализируется, что вполне можно обнаружить.
- </div>
-
-
-
- <div id="vote_area_comment_25785" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(25785,this,1,'comment');"></a>
- <span id="vote_total_comment_25785" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(25785,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/angel5a/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24_003.jpg" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/angel5a/">angel5a</a></li>
- <li class="date">16 сентября 2011, 13:16</li>
- <li><a href="#comment25785" class="comment-link"></a></li>
- <li class="goto-comment-parent"><a href="#" onclick="ls.comments.goToParentComment(25785,25774); return false;" title="Ответ на">↑</a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
- </div>
-
- <div class="comment-wrapper" id="comment_wrapper_id_25786">
-
-
- <div id="comment_id_25786" class="comment not-admin ">
- <a name="comment25786"></a>
-
-
- <div style="display: none;" class="folding"></div>
-
-
- <div id="comment_content_id_25786" class="content">
-
- Китайские карточки иногда не поддерживают спи несмотря на спецификации. Тут уж как повезёт.
- </div>
-
-
-
- <div id="vote_area_comment_25786" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(25786,this,1,'comment');"></a>
- <span id="vote_total_comment_25786" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(25786,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/Lifelover/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24.jpg" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/Lifelover/">Lifelover</a></li>
- <li class="date">16 сентября 2011, 13:20</li>
- <li><a href="#comment25786" class="comment-link"></a></li>
- <li class="goto-comment-parent"><a href="#" onclick="ls.comments.goToParentComment(25786,25774); return false;" title="Ответ на">↑</a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
- </div>
-
- <div class="comment-wrapper" id="comment_wrapper_id_25791">
-
-
- <div id="comment_id_25791" class="comment not-admin ">
- <a name="comment25791"></a>
-
-
- <div class="folding"></div>
-
-
- <div id="comment_content_id_25791" class="content">
-
- Все что я юзал с SPI дружили. По спецификации положено всем, но как говорят товарищи по сообществу, то видимо бывают и поделки которые не держат. Но, опять же я таких не встречал
- </div>
-
-
-
- <div id="vote_area_comment_25791" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(25791,this,1,'comment');"></a>
- <span id="vote_total_comment_25791" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(25791,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/lleeloo/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24.gif" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/lleeloo/">lleeloo</a></li>
- <li class="date">16 сентября 2011, 13:28</li>
- <li><a href="#comment25791" class="comment-link"></a></li>
- <li class="goto-comment-parent"><a href="#" onclick="ls.comments.goToParentComment(25791,25774); return false;" title="Ответ на">↑</a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
-
-
- <div class="comment-wrapper" id="comment_wrapper_id_25803">
-
-
- <div id="comment_id_25803" class="comment not-admin ">
- <a name="comment25803"></a>
-
-
- <div class="folding"></div>
-
-
- <div id="comment_content_id_25803" class="content">
-
- Где-то я читал, что поддержка SPI не обязательна для microSD и что microSDHC и выше часто ее не имеют (microSDSC большинство SPI поддерживает).
- </div>
-
-
-
- <div id="vote_area_comment_25803" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(25803,this,1,'comment');"></a>
- <span id="vote_total_comment_25803" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(25803,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/Vga/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24_003.gif" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/Vga/">Vga</a></li>
- <li class="date">16 сентября 2011, 14:25</li>
- <li><a href="#comment25803" class="comment-link"></a></li>
- <li class="goto-comment-parent"><a href="#" onclick="ls.comments.goToParentComment(25803,25791); return false;" title="Ответ на">↑</a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
-
-
- <div class="comment-wrapper" id="comment_wrapper_id_25807">
-
-
- <div id="comment_id_25807" class="comment not-admin ">
- <a name="comment25807"></a>
-
-
- <div class="folding"></div>
-
-
- <div id="comment_content_id_25807" class="content">
-
- Согласно докам SanDisk, Toshiba и чего-то там еще обязательно есть SPI причем в любой. Если производитель придерживается документации (не зряже стандар написан), то SPI должен быть
- </div>
-
-
-
- <div id="vote_area_comment_25807" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(25807,this,1,'comment');"></a>
- <span id="vote_total_comment_25807" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(25807,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/lleeloo/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24.gif" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/lleeloo/">lleeloo</a></li>
- <li class="date">16 сентября 2011, 14:35</li>
- <li><a href="#comment25807" class="comment-link"></a></li>
- <li class="goto-comment-parent"><a href="#" onclick="ls.comments.goToParentComment(25807,25803); return false;" title="Ответ на">↑</a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
-
-
- <div class="comment-wrapper" id="comment_wrapper_id_25815">
-
-
- <div id="comment_id_25815" class="comment not-admin ">
- <a name="comment25815"></a>
-
-
- <div style="display: none;" class="folding"></div>
-
-
- <div id="comment_content_id_25815" class="content">
-
- Возможно это связано с тем, что microSD (вроде бы) сначала были отдельным стандартом T-Flash. Ну и источник, откуда я инфу брал — нечто в духе википедии, так что не уверен. Ну и инфа выглядит в духе «бывают microSD без SPI и для microSDHC на такую нарваться шансов больше» (хотя я когда читал так понял, что microSDHC с SPI вообще сложно найти). Сам не проверял. Из того, что с SD по SPI работает у меня только NanoDSO, а он по любому SDHC не держит. Хотя нет, еще анлокер/ресеттер карт, но на SDHC его тоже еще не приходилось натравливать.
- </div>
-
-
-
- <div id="vote_area_comment_25815" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(25815,this,1,'comment');"></a>
- <span id="vote_total_comment_25815" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(25815,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/Vga/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24_003.gif" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/Vga/">Vga</a></li>
- <li class="date">16 сентября 2011, 14:57</li>
- <li><a href="#comment25815" class="comment-link"></a></li>
- <li class="goto-comment-parent"><a href="#" onclick="ls.comments.goToParentComment(25815,25807); return false;" title="Ответ на">↑</a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
-
- </div></div></div></div></div>
- <div class="comment-wrapper" id="comment_wrapper_id_62291">
-
-
- <div id="comment_id_62291" class="comment not-admin ">
- <a name="comment62291"></a>
-
-
- <div style="display: none;" class="folding"></div>
-
-
- <div id="comment_content_id_62291" class="content">
-
- Тоже подключал разные карты к ATMEGA8515, аппаратному SPI. MMC карты инициировались нормально, а SD никак, то вообще молчат, то мусор какой-то гонят. Уже подумал, что имеющиеся у меня SD карты SPI и не поддерживают. А оказалось важным следующее: битик SPHA при инициализации SPI. То есть по какому фронту CLK считываются данные в МК. у меня все заработало при SPHA=0. может кому пригодится…
- </div>
-
-
-
- <div id="vote_area_comment_62291" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(62291,this,1,'comment');"></a>
- <span id="vote_total_comment_62291" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(62291,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/emax/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24_003.jpg" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/emax/">emax</a></li>
- <li class="date">17 мая 2012, 07:15</li>
- <li><a href="#comment62291" class="comment-link"></a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
- </div>
-
- <div class="comment-wrapper" id="comment_wrapper_id_84128">
-
-
- <div id="comment_id_84128" class="comment not-admin ">
- <a name="comment84128"></a>
-
-
- <div style="display: none;" class="folding"></div>
-
-
- <div id="comment_content_id_84128" class="content">
-
- Читайте внимательно статью!) После CMD0 получили 0х01. Карта перешла в режим инициализации или занята! Если CMD8 возвращает 0x05 то эта команда не поддерживается а карта еще в процессе инициализации=(
- </div>
-
-
-
- <div id="vote_area_comment_84128" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(84128,this,1,'comment');"></a>
- <span id="vote_total_comment_84128" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(84128,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/lleeloo/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24.gif" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/lleeloo/">lleeloo</a></li>
- <li class="date">02 ноября 2012, 18:08</li>
- <li><a href="#comment84128" class="comment-link"></a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
- </div>
-
- <div class="comment-wrapper" id="comment_wrapper_id_84129">
-
-
- <div id="comment_id_84129" class="comment not-admin ">
- <a name="comment84129"></a>
-
-
- <div style="display: none;" class="folding"></div>
-
-
- <div id="comment_content_id_84129" class="content">
-
- Да, и с какого перепуга вы шлете CMD55 как отдельную команду? Два раза отправлять CMD0 это так нельзя=) Вы же получили ответ на ее выполнение 0х01, поэтому еще раз на ее выполнение будет иллигал комманд=)
- </div>
-
-
-
- <div id="vote_area_comment_84129" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(84129,this,1,'comment');"></a>
- <span id="vote_total_comment_84129" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(84129,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/lleeloo/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24.gif" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/lleeloo/">lleeloo</a></li>
- <li class="date">02 ноября 2012, 18:11</li>
- <li><a href="#comment84129" class="comment-link"></a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
- </div>
-
- <div class="comment-wrapper" id="comment_wrapper_id_84133">
-
-
- <div id="comment_id_84133" class="comment not-admin ">
- <a name="comment84133"></a>
-
-
- <div class="folding"></div>
-
-
- <div id="comment_content_id_84133" class="content">
-
- Да, и:<br>
- 1)<blockquote>Появился какой-то новый стандарт что ли?<br>
- или чей-то такое?)</blockquote> надобно прочитать старый для начала, чтоп говорить о появлении нового<br>
- 2)<blockquote>Можно еще чего-нибудь попробовать отправить?)</blockquote> можно отправить все что угодно, хоть «Войну и мир» Толстого, важно понимать к чему это может привести =)
- </div>
-
-
-
- <div id="vote_area_comment_84133" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(84133,this,1,'comment');"></a>
- <span id="vote_total_comment_84133" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(84133,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/lleeloo/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24.gif" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/lleeloo/">lleeloo</a></li>
- <li class="date">02 ноября 2012, 18:19</li>
- <li><a href="#comment84133" class="comment-link"></a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
-
-
- <div class="comment-wrapper" id="comment_wrapper_id_84134">
-
-
- <div id="comment_id_84134" class="comment not-admin ">
- <a name="comment84134"></a>
-
-
- <div style="display: none;" class="folding"></div>
-
-
- <div id="comment_content_id_84134" class="content">
-
- Пардон, это относилось к тов. <a href="http://we.easyelectronics.ru/profile/BeloBird/" class="ls-user">BeloBird</a>
- </div>
-
-
-
- <div id="vote_area_comment_84134" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(84134,this,1,'comment');"></a>
- <span id="vote_total_comment_84134" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(84134,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/lleeloo/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24.gif" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/lleeloo/">lleeloo</a></li>
- <li class="date">02 ноября 2012, 18:20</li>
- <li><a href="#comment84134" class="comment-link"></a></li>
- <li class="goto-comment-parent"><a href="#" onclick="ls.comments.goToParentComment(84134,84133); return false;" title="Ответ на">↑</a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
-
- </div></div>
- <div class="comment-wrapper" id="comment_wrapper_id_86511">
-
-
- <div id="comment_id_86511" class="comment not-admin ">
- <a name="comment86511"></a>
-
-
- <div class="folding"></div>
-
-
- <div id="comment_content_id_86511" class="content">
-
- работаю с microSD картой, емкостью 2 гб<br>
- я отправляю на карту cmd0, а в ответ получаю ответ R1=0<br>
- чтото не так или повторить отправку cmd0?
- </div>
-
-
-
- <div id="vote_area_comment_86511" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(86511,this,1,'comment');"></a>
- <span id="vote_total_comment_86511" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(86511,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/WitGo/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24_003.jpg" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/WitGo/">WitGo</a></li>
- <li class="date">18 ноября 2012, 20:28</li>
- <li><a href="#comment86511" class="comment-link"></a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
-
-
- <div class="comment-wrapper" id="comment_wrapper_id_86515">
-
-
- <div id="comment_id_86515" class="comment not-admin ">
- <a name="comment86515"></a>
-
-
- <div style="display: none;" class="folding"></div>
-
-
- <div id="comment_content_id_86515" class="content">
-
- Повторить однозначно=)
- </div>
-
-
-
- <div id="vote_area_comment_86515" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(86515,this,1,'comment');"></a>
- <span id="vote_total_comment_86515" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(86515,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/lleeloo/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24.gif" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/lleeloo/">lleeloo</a></li>
- <li class="date">18 ноября 2012, 23:27</li>
- <li><a href="#comment86515" class="comment-link"></a></li>
- <li class="goto-comment-parent"><a href="#" onclick="ls.comments.goToParentComment(86515,86511); return false;" title="Ответ на">↑</a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
-
- </div></div>
- <div class="comment-wrapper" id="comment_wrapper_id_88027">
-
-
- <div id="comment_id_88027" class="comment not-admin ">
- <a name="comment88027"></a>
-
-
- <div class="folding"></div>
-
-
- <div id="comment_content_id_88027" class="content">
-
- здрасьте всем! Автору респект!!!<br>
- не могу понять, как команду послать один раз, но в цикле????<br>
- <em><blockquote>«Для этого отправим карте памяти команду ACMD41, которая инициирует процесс инициализации карты. Эта команда посылается в цикле либо для ее выполнения взводится таймер, по которому проверяется ответ на эту команду.»</blockquote></em>
- </div>
-
-
-
- <div id="vote_area_comment_88027" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(88027,this,1,'comment');"></a>
- <span id="vote_total_comment_88027" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(88027,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/rubleffsky/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24_003.jpg" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/rubleffsky/">rubleffsky</a></li>
- <li class="date">28 ноября 2012, 17:53</li>
- <li><a href="#comment88027" class="comment-link"></a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
-
-
- <div class="comment-wrapper" id="comment_wrapper_id_88066">
-
-
- <div id="comment_id_88066" class="comment not-admin ">
- <a name="comment88066"></a>
-
-
- <div style="display: none;" class="folding"></div>
-
-
- <div id="comment_content_id_88066" class="content">
-
- Спасибо=) <br>
- Вот так наверное, не?<br>
- <pre class="prettyprint"><code><span class="com">// ACMD41</span><span class="pln"><br> </span><span class="kwd">do</span><span class="pln"><br> </span><span class="pun">{</span><span class="pln"><br> MMC_SendCommandA</span><span class="pun">(</span><span class="pln">MMC_CMD_SD_SEND_OP_COND</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0x00</span><span class="pun">,</span><span class="pln"> ertR1</span><span class="pun">);</span><span class="pln"><br> SPI_ReadByte</span><span class="pun">();</span><span class="pln"><br> </span><span class="pun">}</span><span class="pln"><br> </span><span class="kwd">while</span><span class="pun">((((</span><span class="pln">CCardR1</span><span class="pun">*)&</span><span class="pln">ucRespData</span><span class="pun">)-></span><span class="pln">ucData</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&&</span><span class="pln"> </span><span class="pun">(</span><span class="pln">uiMaxErrorsCMD</span><span class="pun">--));</span></code></pre><br>
- <br>
- Да, и не заметил где про 1 раз написано?<br>
- С уважением!
- </div>
-
-
-
- <div id="vote_area_comment_88066" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(88066,this,1,'comment');"></a>
- <span id="vote_total_comment_88066" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(88066,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/lleeloo/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24.gif" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/lleeloo/">lleeloo</a></li>
- <li class="date">28 ноября 2012, 22:18</li>
- <li><a href="#comment88066" class="comment-link"></a></li>
- <li class="goto-comment-parent"><a href="#" onclick="ls.comments.goToParentComment(88066,88027); return false;" title="Ответ на">↑</a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
-
- </div></div>
- <div class="comment-wrapper" id="comment_wrapper_id_88102">
-
-
- <div id="comment_id_88102" class="comment not-admin ">
- <a name="comment88102"></a>
-
-
- <div class="folding"></div>
-
-
- <div id="comment_content_id_88102" class="content">
-
- Скажи, пожалуйста, в какой программе рисовал схему для статьи?
- </div>
-
-
-
- <div id="vote_area_comment_88102" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(88102,this,1,'comment');"></a>
- <span id="vote_total_comment_88102" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(88102,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/NBS/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24_003.jpg" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/NBS/">NBS</a></li>
- <li class="date">28 ноября 2012, 23:40</li>
- <li><a href="#comment88102" class="comment-link"></a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
-
-
-
-
- <div class="comment-wrapper" id="comment_wrapper_id_88108">
-
-
- <div id="comment_id_88108" class="comment not-admin ">
- <a name="comment88108"></a>
-
-
- <div style="display: none;" class="folding"></div>
-
-
- <div id="comment_content_id_88108" class="content">
-
- Вроде sPlan, правда было давно…
- </div>
-
-
-
- <div id="vote_area_comment_88108" class="voting guest ">
- <a href="#" class="plus" onclick="return ls.vote.vote(88108,this,1,'comment');"></a>
- <span id="vote_total_comment_88108" class="total">0</span>
- <a href="#" class="minus" onclick="return ls.vote.vote(88108,this,-1,'comment');"></a>
- </div>
-
-
- <ul class="info">
- <li class="avatar"><a href="http://we.easyelectronics.ru/profile/lleeloo/"><img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/avatar_24x24.gif" alt="avatar"></a></li>
- <li class="username"><a href="http://we.easyelectronics.ru/profile/lleeloo/">lleeloo</a></li>
- <li class="date">29 ноября 2012, 00:18</li>
- <li><a href="#comment88108" class="comment-link"></a></li>
- <li class="goto-comment-parent"><a href="#" onclick="ls.comments.goToParentComment(88108,88102); return false;" title="Ответ на">↑</a></li>
- <li class="goto-comment-child"><a href="#" title="Обратно к ответу">↓</a></li>
-
- </ul>
-
- </div>
- </div></div>
- </div>
-
- Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
-
-
-
- </div><!-- /content-inner -->
- </div><!-- /content -->
- <div id="sidebar">
- <div class="block stream" id="block_stream">
- <h2>Прямой эфир</h2>
-
-
- <ul class="switcher">
- <li id="block_stream_item_comment" class="active">Комментарии</li>
- <li id="block_stream_item_topic">Публикации</li>
-
-
- </ul>
-
-
- <div class="block-content" id="block_stream_content">
- <ul class="list">
-
- <li class="even">
- <a href="http://we.easyelectronics.ru/profile/khomin/" class="user">khomin</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/Tools/multimetr-victor-86e-obzor.html#comment159385" class="topic-title">Мультиметр Victor 86E. Обзор</a>
- <span>18</span> →
- <a href="http://we.easyelectronics.ru/blog/Tools/" class="blog-title">Инструмент</a>
- </li>
-
- <li>
- <a href="http://we.easyelectronics.ru/profile/khomin/" class="user">khomin</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/khomin/stm32-usb-qt-libusb-shablon-proekta.html#comment159382" class="topic-title">STM32 USB, QT, Libusb, шаблон проекта</a>
- <span>41</span> →
- <a href="http://we.easyelectronics.ru/my/khomin/" class="blog-title">Блог им. khomin</a>
- </li>
-
- <li class="even">
- <a href="http://we.easyelectronics.ru/profile/mChel/" class="user">mChel</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/part/led-kuby-novaya-tehnologiya.html#comment159380" class="topic-title">LED-кубы: новая технология</a>
- <span>76</span> →
- <a href="http://we.easyelectronics.ru/blog/part/" class="blog-title">Деталька</a>
- </li>
-
- <li>
- <a href="http://we.easyelectronics.ru/profile/denis_vishniakov/" class="user">denis_vishniakov</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/e_mc2/b-bezyshodnost.html#comment159375" class="topic-title">Б – Безысходность</a>
- <span>517</span> →
- <a href="http://we.easyelectronics.ru/my/e_mc2/" class="blog-title">Блог им. e_mc2</a>
- </li>
-
- <li class="even">
- <a href="http://we.easyelectronics.ru/profile/trengtor/" class="user">trengtor</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/Tools/dolgozhdannyy-payalnik-a-bf-gs110d.html#comment159343" class="topic-title">Долгожданный паяльник A-BF GS110D</a>
- <span>206</span> →
- <a href="http://we.easyelectronics.ru/blog/Tools/" class="blog-title">Инструмент</a>
- </li>
-
- <li>
- <a href="http://we.easyelectronics.ru/profile/angel5a/" class="user">angel5a</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/howwork/obuchaemyy-433mgc-pultik-dlya-klonirovaniya-statichnogo-koda.html#comment159321" class="topic-title">Обучаемый 433МГц пультик для клонирования статичного кода.</a>
- <span>11</span> →
- <a href="http://we.easyelectronics.ru/blog/howwork/" class="blog-title">Как работает?</a>
- </li>
-
- <li class="even">
- <a href="http://we.easyelectronics.ru/profile/yanvasilij/" class="user">yanvasilij</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/STM32/opisanie-drayverov-hal-stm32f4xx-chastichnyy-perevod.html#comment159298" class="topic-title">Описание драйверов HAL STM32F4xx, частичный перевод</a>
- <span>34</span> →
- <a href="http://we.easyelectronics.ru/blog/STM32/" class="blog-title">STM32</a>
- </li>
-
- <li>
- <a href="http://we.easyelectronics.ru/profile/GarryC/" class="user">GarryC</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/Soft/vinxfs-samaya-malenkaya-faylovaya-sistema-fat32-dlya-avr.html#comment159263" class="topic-title">VinxFS - Самая маленькая файловая система FAT32 для AVR</a>
- <span>61</span> →
- <a href="http://we.easyelectronics.ru/blog/Soft/" class="blog-title">Алгоритмы и программные решения</a>
- </li>
-
- <li class="even">
- <a href="http://we.easyelectronics.ru/profile/Jarik65535/" class="user">Jarik65535</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/electro-and-pc/poluchenie-sinhronnyh-dannyh-s-pomoschyu-mikroshemy-cypress-cy7c68013a-fx2lp-na-primere-ustroystva-videozahvata-dlya-staryh-kompyutorov.html#comment159251" class="topic-title">Получение синхронных данных с помощью микросхемы Cypress CY7C68013A (FX2LP) на примере устройства видеозахвата для старых компьюторов.</a>
- <span>34</span> →
- <a href="http://we.easyelectronics.ru/blog/electro-and-pc/" class="blog-title">Связь железа с компьютером.</a>
- </li>
-
- <li>
- <a href="http://we.easyelectronics.ru/profile/Vitaliy_81/" class="user">Vitaliy_81</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/STM32/udobnaya-nastroyka-gpio-stm32f030-moy-velosiped.html#comment159241" class="topic-title">Удобная настройка GPIO STM32F030. Мой велосипед.</a>
- <span>92</span> →
- <a href="http://we.easyelectronics.ru/blog/STM32/" class="blog-title">STM32</a>
- </li>
-
- <li class="even">
- <a href="http://we.easyelectronics.ru/profile/trengtor/" class="user">trengtor</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/trengtor/oblagorazhivaem-deshevyy-kitayskiy-dc-dc-preobrazovatel.html#comment159224" class="topic-title">Облагораживаем дешевый китайский DC-DC преобразователь</a>
- <span>58</span> →
- <a href="http://we.easyelectronics.ru/my/trengtor/" class="blog-title">Блог им. trengtor</a>
- </li>
-
- <li>
- <a href="http://we.easyelectronics.ru/profile/Vga/" class="user">Vga</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/pashamray/otkrytoe-programmnoe-obespechenie-dlya-programmatora-tl866.html#comment159203" class="topic-title">Открытое программное обеспечение для программатора TL866</a>
- <span>30</span> →
- <a href="http://we.easyelectronics.ru/my/pashamray/" class="blog-title">Блог им. pashamray</a>
- </li>
-
- <li class="even">
- <a href="http://we.easyelectronics.ru/profile/trengtor/" class="user">trengtor</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/trengtor/poradovali-avtory-diptrace.html#comment159170" class="topic-title">Порадовали авторы DipTrace</a>
- <span>76</span> →
- <a href="http://we.easyelectronics.ru/my/trengtor/" class="blog-title">Блог им. trengtor</a>
- </li>
-
- <li>
- <a href="http://we.easyelectronics.ru/profile/selevo/" class="user">selevo</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/angel5a/stm8-i-termometr-lm75.html#comment159157" class="topic-title">STM8 и термометр LM75</a>
- <span>34</span> →
- <a href="http://we.easyelectronics.ru/my/angel5a/" class="blog-title">Блог им. angel5a</a>
- </li>
-
- <li class="even">
- <a href="http://we.easyelectronics.ru/profile/Vga/" class="user">Vga</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/cortex/sparivaem-coide-i-rossiyskiy-cortex-m3.html#comment159110" class="topic-title">Спариваем CoIDE и российский Cortex M3</a>
- <span>40</span> →
- <a href="http://we.easyelectronics.ru/blog/cortex/" class="blog-title">Cortex</a>
- </li>
-
- <li>
- <a href="http://we.easyelectronics.ru/profile/Leoniv/" class="user">Leoniv</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/STM32/demony-v-acp-stm32.html#comment159105" class="topic-title">Демоны в АЦП STM32</a>
- <span>20</span> →
- <a href="http://we.easyelectronics.ru/blog/STM32/" class="blog-title">STM32</a>
- </li>
-
- <li class="even">
- <a href="http://we.easyelectronics.ru/profile/count_enable/" class="user">count_enable</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/khomin/m-bus-chast-i.html#comment159037" class="topic-title">M-BUS, часть I</a>
- <span>16</span> →
- <a href="http://we.easyelectronics.ru/my/khomin/" class="blog-title">Блог им. khomin</a>
- </li>
-
- <li>
- <a href="http://we.easyelectronics.ru/profile/well-man2000/" class="user">well-man2000</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/Tools/instrument-dlya-zachistki-mgtf.html#comment158952" class="topic-title">Инструмент для зачистки МГТФ</a>
- <span>118</span> →
- <a href="http://we.easyelectronics.ru/blog/Tools/" class="blog-title">Инструмент</a>
- </li>
-
- <li class="even">
- <a href="http://we.easyelectronics.ru/profile/Logman/" class="user">Logman</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/STM32/stm32-1-wire-dma-prodolzhenie.html#comment158920" class="topic-title">Stm32 + 1-wire + DMA (продолжение)</a>
- <span>16</span> →
- <a href="http://we.easyelectronics.ru/blog/STM32/" class="blog-title">STM32</a>
- </li>
-
- <li>
- <a href="http://we.easyelectronics.ru/profile/skelet/" class="user">skelet</a> →
- <span class="stream-comment-icon"></span>
- <a href="http://we.easyelectronics.ru/skelet/klon-r-45.html#comment158766" class="topic-title">Клон Р-45</a>
- <span>11</span> →
- <a href="http://we.easyelectronics.ru/my/skelet/" class="blog-title">Блог им. skelet</a>
- </li>
- </ul>
- <div class="bottom">
- <a href="http://we.easyelectronics.ru/comments/">Весь эфир</a> | <a href="http://we.easyelectronics.ru/rss/allcomments/">RSS</a>
- </div>
- </div>
- </div>
- <div class="block tags">
- <ul class="cloud">
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/1-Wire/">1-Wire</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/Altera/">Altera</a></li>
- <li><a class="w3" rel="tag" href="http://we.easyelectronics.ru/tag/arduino/">arduino</a></li>
- <li><a class="w4" rel="tag" href="http://we.easyelectronics.ru/tag/ARM/">ARM</a></li>
- <li><a class="w10" rel="tag" href="http://we.easyelectronics.ru/tag/AVR/">AVR</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/avr-gcc/">avr-gcc</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/C%2B%2B/">C++</a></li>
- <li><a class="w3" rel="tag" href="http://we.easyelectronics.ru/tag/DIY/">DIY</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/enc28j60/">enc28j60</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/ethernet/">ethernet</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/FPGA/">FPGA</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/gcc/">gcc</a></li>
- <li><a class="w3" rel="tag" href="http://we.easyelectronics.ru/tag/I2C/">I2C</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/IAR/">IAR</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/KEIL/">KEIL</a></li>
- <li><a class="w3" rel="tag" href="http://we.easyelectronics.ru/tag/LaunchPad/">LaunchPad</a></li>
- <li><a class="w5" rel="tag" href="http://we.easyelectronics.ru/tag/LCD/">LCD</a></li>
- <li><a class="w4" rel="tag" href="http://we.easyelectronics.ru/tag/led/">led</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/linux/">linux</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/LPCXpresso/">LPCXpresso</a></li>
- <li><a class="w5" rel="tag" href="http://we.easyelectronics.ru/tag/MSP430/">MSP430</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/nxp/">nxp</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/PCB/">PCB</a></li>
- <li><a class="w3" rel="tag" href="http://we.easyelectronics.ru/tag/PIC/">PIC</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/pinboard2/">pinboard2</a></li>
- <li><a class="w3" rel="tag" href="http://we.easyelectronics.ru/tag/RTOS/">RTOS</a></li>
- <li><a class="w10" rel="tag" href="http://we.easyelectronics.ru/tag/STM32/">STM32</a></li>
- <li><a class="w6" rel="tag" href="http://we.easyelectronics.ru/tag/STM8/">STM8</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/STM8L/">STM8L</a></li>
- <li><a class="w3" rel="tag" href="http://we.easyelectronics.ru/tag/TI/">TI</a></li>
- <li><a class="w4" rel="tag" href="http://we.easyelectronics.ru/tag/UART/">UART</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/USART/">USART</a></li>
- <li><a class="w5" rel="tag" href="http://we.easyelectronics.ru/tag/USB/">USB</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC/">алгоритм</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%B0%D1%81%D1%81%D0%B5%D0%BC%D0%B1%D0%BB%D0%B5%D1%80/">ассемблер</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%90%D0%A6%D0%9F/">АЦП</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%B1%D0%BB%D0%BE%D0%BA%20%D0%BF%D0%B8%D1%82%D0%B0%D0%BD%D0%B8%D1%8F/">блок питания</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81/">вопрос</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%B4%D0%B5%D1%82%D0%B0%D0%BB%D1%8C%D0%BA%D0%B0/">деталька</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%B4%D0%B8%D1%81%D0%BF%D0%BB%D0%B5%D0%B9/">дисплей</a></li>
- <li><a class="w3" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%B8%D0%B4%D0%B5%D1%8F/">идея</a></li>
- <li><a class="w6" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82/">инструмент</a></li>
- <li><a class="w6" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%BA%D0%BE%D0%BD%D0%BA%D1%83%D1%80%D1%81/">конкурс</a></li>
- <li><a class="w5" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%BA%D0%BE%D0%BD%D0%BA%D1%83%D1%80%D1%812/">конкурс2</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%9B%D0%A3%D0%A2/">ЛУТ</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D1%8B/">микроконтроллеры</a></li>
- <li><a class="w5" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%BD%D0%B0%D1%87%D0%B8%D0%BD%D0%B0%D1%8E%D1%89%D0%B8%D0%BC/">начинающим</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%BE%D0%B1%D0%B7%D0%BE%D1%80/">обзор</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%9E%D1%82%D0%BB%D0%B0%D0%B4%D0%BE%D1%87%D0%BD%D0%B0%D1%8F%20%D0%BF%D0%BB%D0%B0%D1%82%D0%B0/">Отладочная плата</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%BF%D0%B0%D1%8F%D0%BB%D1%8C%D0%BD%D0%B8%D0%BA/">паяльник</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%BF%D0%B5%D1%87%D0%B0%D1%82%D0%BD%D0%B0%D1%8F%20%D0%BF%D0%BB%D0%B0%D1%82%D0%B0/">печатная плата</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%BF%D0%B8%D1%82%D0%B0%D0%BD%D0%B8%D0%B5/">питание</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%BF%D0%BB%D0%B0%D1%82%D0%B0/">плата</a></li>
- <li><a class="w5" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%9F%D0%9B%D0%98%D0%A1/">ПЛИС</a></li>
- <li><a class="w3" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%BF%D0%BE%D0%B4%D0%B5%D0%BB%D0%BA%D0%B8/">поделки</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%D0%BA%D0%B8/">покупки</a></li>
- <li><a class="w4" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%BE%D1%80/">программатор</a></li>
- <li><a class="w3" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5/">программирование</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/%D1%80%D0%BE%D0%B1%D0%BE%D1%82/">робот</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/%D1%81%D0%B2%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D0%BE%D0%B4/">светодиод</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/%D1%81%D0%BE%D1%84%D1%82/">софт</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/%D1%81%D1%85%D0%B5%D0%BC%D0%B0/">схема</a></li>
- <li><a class="w3" rel="tag" href="http://we.easyelectronics.ru/tag/%D1%81%D1%85%D0%B5%D0%BC%D0%BE%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0/">схемотехника</a></li>
- <li><a class="w5" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D0%B8/">Технологии</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/%D1%83%D0%BC%D0%BD%D1%8B%D0%B9%20%D0%B4%D0%BE%D0%BC/">умный дом</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/%D1%84%D0%BE%D1%82%D0%BE%D1%80%D0%B5%D0%B7%D0%B8%D1%81%D1%82/">фоторезист</a></li>
- <li><a class="w5" rel="tag" href="http://we.easyelectronics.ru/tag/%D1%85%D0%B0%D0%BB%D1%8F%D0%B2%D0%B0/">халява</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/%D1%85%D1%80%D0%B5%D0%BD%D1%8C/">хрень</a></li>
- <li><a class="w1" rel="tag" href="http://we.easyelectronics.ru/tag/%D0%A7%D0%B0%D1%81%D1%8B/">Часы</a></li>
- <li><a class="w2" rel="tag" href="http://we.easyelectronics.ru/tag/%D1%8E%D0%BC%D0%BE%D1%80/">юмор</a></li>
- </ul>
- </div>
- <div class="block blogs" id="block_blogs">
- <h2>Блоги</h2>
-
-
- <ul class="switcher">
- <li id="block_blogs_item_top" class="active">Топ</li>
- </ul>
-
-
- <div class="block-content" id="block_blogs_content">
- <ul class="list">
- <li>
- <span class="rating">37.52</span>
- <a href="http://we.easyelectronics.ru/blog/AVR/">AVR</a>
- </li>
- <li>
- <span class="rating">36.47</span>
- <a href="http://we.easyelectronics.ru/blog/STM8/">STM8</a>
- </li>
- <li>
- <span class="rating">29.53</span>
- <a href="http://we.easyelectronics.ru/blog/JunkBox/">Мусоровоз</a>
- <img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/lock.png" alt="[x]" title="Закрытый блог"> </li>
- <li>
- <span class="rating">25.72</span>
- <a href="http://we.easyelectronics.ru/blog/STM32/">STM32</a>
- </li>
- <li>
- <span class="rating">23.24</span>
- <a href="http://we.easyelectronics.ru/blog/part/">Деталька</a>
- </li>
- <li>
- <span class="rating">21.17</span>
- <a href="http://we.easyelectronics.ru/blog/electro-and-pc/">Связь железа с компьютером.</a>
- </li>
- <li>
- <span class="rating">18.15</span>
- <a href="http://we.easyelectronics.ru/blog/Shematech/">Схемотехника</a>
- </li>
- <li>
- <span class="rating">17.75</span>
- <a href="http://we.easyelectronics.ru/blog/smarthouse/">Умный дом</a>
- </li>
- <li>
- <span class="rating">17.13</span>
- <a href="http://we.easyelectronics.ru/blog/msp430/">MSP430</a>
- </li>
- <li>
- <span class="rating">14.79</span>
- <a href="http://we.easyelectronics.ru/blog/LPC/">LPC1xxx</a>
- </li>
- </ul>
- </div>
-
- <div class="bottom">
- <a href="http://we.easyelectronics.ru/blogs/">Все блоги</a>
- </div>
- </div>
- </div> </div><!-- /wrapper -->
- <div id="footer">
- <div id="footer-inner">
- <div class="right">© Powered by <a href="http://livestreetcms.ru/">LiveStreet CMS</a></div>
- Design by — <a href="http://www.xeoart.com/">Студия XeoArt</a>
- <img src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/xeoart.gif" border="0">
-
- </div>
- </div>
- </div><!-- /container -->
- <!-- Yandex.Metrika counter -->
- <div style="display:none;"><script type="text/javascript">
- (function(w, c) {
- (w[c] = w[c] || []).push(function() {
- try {
- w.yaCounter4558804 = new Ya.Metrika({id:4558804,
- clickmap:true,
- trackLinks:true});
- }
- catch(e) { }
- });
- })(window, "yandex_metrika_callbacks");
- </script></div>
- <script src="MMC%28SD%29%20%D0%B8%20AVR.%20%D0%A7%D0%B0%D1%81%D1%82%D1%8C%201.%20%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F.%20_%20AVR%20_%20%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20EasyElectronics.ru_files/watch.js" type="text/javascript" defer="defer"></script>
- <noscript><div><img src="//mc.yandex.ru/watch/4558804" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
- <!-- /Yandex.Metrika counter -->
- </body></html>
|