加入微积分库

This commit is contained in:
XerolySkinner
2022-11-23 23:59:23 +08:00
parent 08f9f63eb3
commit f6b6ac1329
390 changed files with 16565 additions and 994 deletions

414
Doc/xml/bsp___s_d_8cpp.xml Normal file
View File

@@ -0,0 +1,414 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.5" xml:lang="zh">
<compounddef id="bsp___s_d_8cpp" kind="file" language="C++">
<compoundname>bsp_SD.cpp</compoundname>
<includes refid="bsp___s_d_8h" local="yes">bsp_SD.h</includes>
<incdepgraph>
<node id="1">
<label>D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp</label>
<link refid="bsp___s_d_8cpp"/>
<childnode refid="2" relation="include">
</childnode>
</node>
<node id="2">
<label>bsp_SD.h</label>
<link refid="bsp___s_d_8h"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
</node>
<node id="4">
<label>varint.h</label>
<link refid="varint_8h"/>
<childnode refid="5" relation="include">
</childnode>
</node>
<node id="3">
<label>spi.h</label>
</node>
<node id="5">
<label>stdint.h</label>
</node>
</incdepgraph>
<briefdescription>
<para>操作SD卡的库 </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<programlisting>
<codeline lineno="1"><highlight class="comment">/*----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="2"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="3"><highlight class="comment"><sp/>#<sp/><sp/>Copyright<sp/>(c)<sp/>2022<sp/>Yuankang<sp/>Liang(XerolySkinner)</highlight></codeline>
<codeline lineno="4"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="5"><highlight class="comment"><sp/>#<sp/><sp/>本软件按原样提供,无任何明示或暗示</highlight></codeline>
<codeline lineno="6"><highlight class="comment"><sp/>#<sp/><sp/>在任何情况下,作者都不承担任何损害赔偿责任</highlight></codeline>
<codeline lineno="7"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="8"><highlight class="comment"><sp/>#<sp/><sp/>使用的许可声明:</highlight></codeline>
<codeline lineno="9"><highlight class="comment"><sp/>#<sp/><sp/>1.<sp/><sp/>不得歪曲本软件的来源,你不能声称你编写了原始软件.</highlight></codeline>
<codeline lineno="10"><highlight class="comment"><sp/>#<sp/><sp/>2.<sp/><sp/>免费授予以任何目的,前提是版权声明出现在所有副本中.</highlight></codeline>
<codeline lineno="11"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>并且版权声明和许可声明同时出现.</highlight></codeline>
<codeline lineno="12"><highlight class="comment"><sp/>#<sp/><sp/>3.<sp/><sp/>你有使用,复制,修改,分发,和销售本软件的许可.</highlight></codeline>
<codeline lineno="13"><highlight class="comment"><sp/>#<sp/><sp/>4.<sp/><sp/>如果你在产品中使用,产品文档中的声明是赞赏的但不是必须的.</highlight></codeline>
<codeline lineno="14"><highlight class="comment"><sp/>#<sp/><sp/>5.<sp/><sp/>本通知不得从任何来源删除或更改.</highlight></codeline>
<codeline lineno="15"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="16"><highlight class="comment"><sp/>#<sp/><sp/>Yuankang<sp/>Liang(XerolySkinner)</highlight></codeline>
<codeline lineno="17"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>E-mail:zabbcccbbaz@163.com</highlight></codeline>
<codeline lineno="18"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>QQ:2715099320</highlight></codeline>
<codeline lineno="19"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>Mobile<sp/>Phone:13005636215</highlight></codeline>
<codeline lineno="20"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="21"><highlight class="comment"><sp/>#<sp/><sp/>All<sp/>rights<sp/>reserved.</highlight></codeline>
<codeline lineno="22"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="23"><highlight class="normal"></highlight></codeline>
<codeline lineno="34"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="bsp___s_d_8h" kindref="compound">bsp_SD.h</ref>&quot;</highlight></codeline>
<codeline lineno="36"><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="37"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/>程序</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="38"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/></highlight></codeline>
<codeline lineno="43" refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" refkind="member"><highlight class="comment"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" kindref="member">bsp_SD::SD_CS</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>p){</highlight></codeline>
<codeline lineno="44"><highlight class="normal"><sp/><sp/><sp/><sp/>HAL_GPIO_WritePin(<ref refid="classbsp___s_d_1ad7788d2e62152a2fb1a6b307fa902180" kindref="member">GPIOx_CS</ref>,<sp/><ref refid="classbsp___s_d_1a4525b5c0f62e39af1c9adb9a9c22239f" kindref="member">GPIO_Pin_CS</ref>,<sp/>p<sp/>==<sp/>0<sp/>?<sp/>GPIO_PIN_SET:<sp/>GPIO_PIN_RESET);}</highlight></codeline>
<codeline lineno="45"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="53" refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">bsp_SD::SD_sendcmd</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>cmd,<sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/>arg,<sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>crc){</highlight></codeline>
<codeline lineno="54"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>r1;</highlight></codeline>
<codeline lineno="55"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>retry;</highlight></codeline>
<codeline lineno="56"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" kindref="member">SD_CS</ref>(0);</highlight></codeline>
<codeline lineno="57"><highlight class="normal"><sp/><sp/><sp/><sp/>__nop();</highlight></codeline>
<codeline lineno="58"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" kindref="member">SD_CS</ref>(1);</highlight></codeline>
<codeline lineno="59"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">do</highlight><highlight class="normal"><sp/>retry<sp/>=<sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(<ref refid="classbsp___s_d_1a6c68fa82294f18968a92719931cff5fa" kindref="member">DFF</ref>);</highlight><highlight class="keywordflow">while</highlight><highlight class="normal">(retry<sp/>!=<sp/>0xFF);</highlight></codeline>
<codeline lineno="60"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(cmd<sp/>|<sp/>0x40);</highlight></codeline>
<codeline lineno="61"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(arg<sp/>&gt;&gt;<sp/>24);</highlight></codeline>
<codeline lineno="62"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(arg<sp/>&gt;&gt;<sp/>16);</highlight></codeline>
<codeline lineno="63"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(arg<sp/>&gt;&gt;<sp/>8);</highlight></codeline>
<codeline lineno="64"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(arg);</highlight></codeline>
<codeline lineno="65"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(crc);</highlight></codeline>
<codeline lineno="66"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(cmd<sp/>==<sp/><ref refid="bsp___s_d_8h_1a8d6283c9b060afbaa0e6d1ff7e5ea7b8" kindref="member">CMD12</ref>)<sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(<ref refid="classbsp___s_d_1a6c68fa82294f18968a92719931cff5fa" kindref="member">DFF</ref>);</highlight></codeline>
<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">do</highlight><highlight class="normal"><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(0xFF);</highlight><highlight class="keywordflow">while</highlight><highlight class="normal">(r1<sp/>&amp;<sp/>0X80);</highlight></codeline>
<codeline lineno="68"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>r1;}</highlight></codeline>
<codeline lineno="69"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="74" refid="classbsp___s_d_1a1e0a3f09367627bcafc8efaaeb90b066" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="classbsp___s_d_1a1e0a3f09367627bcafc8efaaeb90b066" kindref="member">bsp_SD::SD_init</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">){</highlight></codeline>
<codeline lineno="75"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/>r1;</highlight></codeline>
<codeline lineno="76"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/>buff[6]<sp/>=<sp/>{0};</highlight></codeline>
<codeline lineno="77"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kindref="member">u16</ref><sp/><sp/><sp/><sp/><sp/>retry;</highlight></codeline>
<codeline lineno="78"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/>i;</highlight></codeline>
<codeline lineno="79"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>MX_SPI3_Init();</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="80"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a5ed95b95b141ee21d83ca70c1b06a31a" kindref="member">SPI_setspeed</ref>(SPI_BAUDRATEPRESCALER_256);</highlight></codeline>
<codeline lineno="81"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" kindref="member">SD_CS</ref>(0);</highlight></codeline>
<codeline lineno="82"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(retry<sp/>=<sp/>0;<sp/>retry<sp/>&lt;<sp/>10;<sp/>retry++)<sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(<ref refid="classbsp___s_d_1a6c68fa82294f18968a92719931cff5fa" kindref="member">DFF</ref>);</highlight></codeline>
<codeline lineno="83"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>SD卡进入IDLE状态</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="84"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">do</highlight><highlight class="normal"><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1a938c1466755f12fb04ac0d1b775584d1" kindref="member">CMD0</ref>,<sp/>0,<sp/>0x95);</highlight><highlight class="keywordflow">while</highlight><highlight class="normal">(r1<sp/>!=<sp/>0x01);</highlight></codeline>
<codeline lineno="85"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>查看SD卡的类型</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="86"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" kindref="member">SD_TYPE</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="87"><highlight class="normal"><sp/><sp/><sp/><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1ac75b3e0ad1fb013ea946fb49bbe65668" kindref="member">CMD8</ref>,<sp/>0x1AA,<sp/>0x87);</highlight></codeline>
<codeline lineno="88"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(r1<sp/>==<sp/>0x01)<sp/>{</highlight></codeline>
<codeline lineno="89"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(i<sp/>=<sp/>0;<sp/>i<sp/>&lt;<sp/>4;<sp/>i++)<sp/>buff[i]<sp/>=<sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(<ref refid="classbsp___s_d_1a6c68fa82294f18968a92719931cff5fa" kindref="member">DFF</ref>);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//Get<sp/>trailing<sp/>return<sp/>value<sp/>of<sp/>R7<sp/>resp</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="90"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(buff[2]<sp/>==<sp/>0X01<sp/>&amp;&amp;<sp/>buff[3]<sp/>==<sp/>0XAA)<sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//卡是否支持2.7~3.6V</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="91"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>retry<sp/>=<sp/>0XFFFE;</highlight></codeline>
<codeline lineno="92"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">do</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="93"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1a78289a7a85ffcfddd626694105dc0780" kindref="member">CMD55</ref>,<sp/>0,<sp/>0X01);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//发送CMD55</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="94"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1a3ca1450d0ac55d2705aab03537bf2865" kindref="member">CMD41</ref>,<sp/>0x40000000,<sp/>0X01);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//发送CMD41</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="95"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">while</highlight><highlight class="normal">(r1<sp/>&amp;&amp;<sp/>retry--);</highlight></codeline>
<codeline lineno="96"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(retry<sp/>&amp;&amp;<sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1aa7a26b2cf17e1ff5967820a1fa41a7aa" kindref="member">CMD58</ref>,<sp/>0,<sp/>0X01)<sp/>==<sp/>0)<sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//鉴别SD2.0卡版本开始</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="97"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(i<sp/>=<sp/>0;<sp/>i<sp/>&lt;<sp/>4;<sp/>i++)<sp/>buff[i]<sp/>=<sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(0XFF);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//得到OCR值</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="98"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(buff[0]<sp/>&amp;0x40)<sp/><ref refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" kindref="member">SD_TYPE</ref><sp/>=<sp/><ref refid="bsp___s_d_8h_1ae52e14c1b95e5162f4fe492d9b1b0fec" kindref="member">V2HC</ref>;</highlight></codeline>
<codeline lineno="99"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/><ref refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" kindref="member">SD_TYPE</ref><sp/>=<sp/><ref refid="bsp___s_d_8h_1a9173468f90b474471bfff59f8487cbc1" kindref="member">V2</ref>;}}</highlight></codeline>
<codeline lineno="100"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="101"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1a78289a7a85ffcfddd626694105dc0780" kindref="member">CMD55</ref>,<sp/>0,<sp/>0X01);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//发送CMD55</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="102"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1a3ca1450d0ac55d2705aab03537bf2865" kindref="member">CMD41</ref>,<sp/>0,<sp/>0X01);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//发送CMD41</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="103"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(r1<sp/>&lt;=<sp/>1)<sp/>{</highlight></codeline>
<codeline lineno="104"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" kindref="member">SD_TYPE</ref><sp/>=<sp/><ref refid="bsp___s_d_8h_1ae21a9518b4dd62d2baeab430c89a657a" kindref="member">V1</ref>;</highlight></codeline>
<codeline lineno="105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>retry<sp/>=<sp/>0XFFFE;</highlight></codeline>
<codeline lineno="106"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">do</highlight><highlight class="normal"><sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//等待退出IDLE模式</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="107"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1a78289a7a85ffcfddd626694105dc0780" kindref="member">CMD55</ref>,<sp/>0,<sp/>0X01);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//发送CMD55</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="108"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1a3ca1450d0ac55d2705aab03537bf2865" kindref="member">CMD41</ref>,<sp/>0,<sp/>0X01);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//发送CMD41</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="109"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">while</highlight><highlight class="normal">(r1<sp/>&amp;&amp;<sp/>retry--);}</highlight></codeline>
<codeline lineno="110"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//MMC卡不支持CMD55+CMD41识别</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="111"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" kindref="member">SD_TYPE</ref><sp/>=<sp/><ref refid="bsp___s_d_8h_1ab5a7d5477e55758bde614bda3250a93c" kindref="member">MMC</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//MMC<sp/>V3</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="112"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>retry<sp/>=<sp/>0XFFFE;</highlight></codeline>
<codeline lineno="113"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">do</highlight><highlight class="normal"><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1aca9979f299fa78c1128d778084478673" kindref="member">CMD1</ref>,<sp/>0,<sp/>0X01);</highlight><highlight class="keywordflow">while</highlight><highlight class="normal">(r1<sp/>&amp;&amp;<sp/>retry--);}<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//等待退出IDLE模式</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="114"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(retry<sp/>==<sp/>0<sp/>||<sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1aaeab261b94f2031ba41a1d4d857c3541" kindref="member">CMD16</ref>,<sp/>512,<sp/>0X01)<sp/>!=<sp/>0)<sp/><ref refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" kindref="member">SD_TYPE</ref><sp/>=<sp/><ref refid="bsp___s_d_8h_1a735563036dced0b7d6cc98f97ea4978b" kindref="member">ERR</ref>;}<sp/><sp/><sp/><sp/></highlight><highlight class="comment">//错误的卡</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="115"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="116"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" kindref="member">SD_CS</ref>(0);</highlight></codeline>
<codeline lineno="117"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a5ed95b95b141ee21d83ca70c1b06a31a" kindref="member">SPI_setspeed</ref>(SPI_BAUDRATEPRESCALER_2);</highlight></codeline>
<codeline lineno="118"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" kindref="member">SD_TYPE</ref>)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="119"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>1;}</highlight></codeline>
<codeline lineno="120"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="127" refid="classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe" kindref="member">bsp_SD::SD_ReceiveData</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>*<sp/>data,<sp/><ref refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kindref="member">u16</ref><sp/>len){</highlight></codeline>
<codeline lineno="128"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>r1;</highlight></codeline>
<codeline lineno="129"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" kindref="member">SD_CS</ref>(1);</highlight></codeline>
<codeline lineno="130"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">do</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="131"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(0xFF);</highlight></codeline>
<codeline lineno="132"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>__nop();</highlight></codeline>
<codeline lineno="133"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">while</highlight><highlight class="normal">(r1<sp/>!=<sp/>0xFE);</highlight></codeline>
<codeline lineno="134"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(len--)<sp/>{</highlight></codeline>
<codeline lineno="135"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*data<sp/>=<sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(0xFF);</highlight></codeline>
<codeline lineno="136"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>data++;}</highlight></codeline>
<codeline lineno="137"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(0xFF);</highlight></codeline>
<codeline lineno="138"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(0xFF);</highlight></codeline>
<codeline lineno="139"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;}</highlight></codeline>
<codeline lineno="140"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="147" refid="classbsp___s_d_1a2df843979bb4c764422a37b255c184ea" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="classbsp___s_d_1a2df843979bb4c764422a37b255c184ea" kindref="member">bsp_SD::SD_SendBlock</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>*<sp/>buf,<sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>cmd){</highlight></codeline>
<codeline lineno="148"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kindref="member">u16</ref><sp/>t;</highlight></codeline>
<codeline lineno="149"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>r1;</highlight></codeline>
<codeline lineno="150"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">do</highlight><highlight class="normal"><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(0xFF);</highlight><highlight class="keywordflow">while</highlight><highlight class="normal">(r1<sp/>!=<sp/>0xFF);</highlight></codeline>
<codeline lineno="151"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(cmd);</highlight></codeline>
<codeline lineno="152"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(cmd<sp/>!=<sp/>0XFD)<sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//不是结束指令</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="153"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(t<sp/>=<sp/>0;<sp/>t<sp/>&lt;<sp/>512;<sp/>t++)<sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(buf[t]);<sp/><sp/><sp/><sp/></highlight><highlight class="comment">//提高速度,减少函数传参时间</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="154"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(0xFF);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//忽略crc</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="155"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(0xFF);</highlight></codeline>
<codeline lineno="156"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>t<sp/>=<sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(0xFF);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//接收响应</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="157"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((t<sp/>&amp;<sp/>0x1F)<sp/>!=<sp/>0x05)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>2;}<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//响应错误</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="158"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;}<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//写入成功</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="159"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="164" refid="classbsp___s_d_1a25bc03ff69d0c3c9a73153c71c84a8b0" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="classbsp___s_d_1a25bc03ff69d0c3c9a73153c71c84a8b0" kindref="member">bsp_SD::SD_GETCID</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>*<sp/>cid_data){</highlight></codeline>
<codeline lineno="165"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>r1;</highlight></codeline>
<codeline lineno="166"><highlight class="normal"><sp/><sp/><sp/><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1ae7b800ed8e7bd52e6f570a5ce72b8104" kindref="member">CMD10</ref>,<sp/>0,<sp/>0x01);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//读取CID寄存器</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="167"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(r1<sp/>==<sp/>0x00)<sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe" kindref="member">SD_ReceiveData</ref>(cid_data,<sp/>16);</highlight></codeline>
<codeline lineno="168"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" kindref="member">SD_CS</ref>(0);</highlight></codeline>
<codeline lineno="169"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(r1)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>1;</highlight></codeline>
<codeline lineno="170"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;}</highlight></codeline>
<codeline lineno="171"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="176" refid="classbsp___s_d_1ad0426f6a4b550e60a926c95724d81665" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="classbsp___s_d_1ad0426f6a4b550e60a926c95724d81665" kindref="member">bsp_SD::SD_GETCSD</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>*<sp/>csd_data){</highlight></codeline>
<codeline lineno="177"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>r1;</highlight></codeline>
<codeline lineno="178"><highlight class="normal"><sp/><sp/><sp/><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1a1fac6a251d7e7dc204d21639bf521459" kindref="member">CMD9</ref>,<sp/>0,<sp/>0x01);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//发CMD9命令读CSD寄存器</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="179"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(r1<sp/>==<sp/>0)<sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe" kindref="member">SD_ReceiveData</ref>(csd_data,<sp/>16);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//接收16个字节的数据<sp/></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="180"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" kindref="member">SD_CS</ref>(0);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//取消片选</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="181"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(r1)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>1;</highlight></codeline>
<codeline lineno="182"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;}</highlight></codeline>
<codeline lineno="183"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="188" refid="classbsp___s_d_1a600cc886dc5da6d34f75d0bf226c1b92" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/><ref refid="classbsp___s_d_1a600cc886dc5da6d34f75d0bf226c1b92" kindref="member">bsp_SD::SD_GetSectorCount</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">){</highlight></codeline>
<codeline lineno="189"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/>csd[16];</highlight></codeline>
<codeline lineno="190"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/><sp/><sp/><sp/><sp/>Capacity;</highlight></codeline>
<codeline lineno="191"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/>n;</highlight></codeline>
<codeline lineno="192"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kindref="member">u16</ref><sp/><sp/><sp/><sp/><sp/>csize;</highlight></codeline>
<codeline lineno="193"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//取CSD信息如果期间出错返回0</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="194"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classbsp___s_d_1ad0426f6a4b550e60a926c95724d81665" kindref="member">SD_GETCSD</ref>(csd)<sp/>!=<sp/>0)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="195"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//如果为SDHC卡按照下面方式计算</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="196"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((csd[0]<sp/>&amp;0xC0)<sp/>==<sp/>0x40)<sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//V2.00的卡</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="197"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>csize<sp/>=<sp/>csd[9]<sp/>+<sp/>((<ref refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kindref="member">u16</ref>)<sp/>csd[8]<sp/>&lt;&lt;<sp/>8)<sp/>+<sp/>1;</highlight></codeline>
<codeline lineno="198"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>Capacity<sp/>=<sp/>(<ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref>)</highlight></codeline>
<codeline lineno="199"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>csize<sp/>&lt;&lt;<sp/>10;}<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//得到扇区数</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="200"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//V1.XX的卡</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="201"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>n<sp/>=<sp/>(csd[5]<sp/>&amp;15)<sp/>+<sp/>((csd[10]<sp/>&amp;128)<sp/>&gt;&gt;<sp/>7)<sp/>+<sp/>((csd[9]<sp/>&amp;3)<sp/>&lt;&lt;<sp/>1)<sp/>+<sp/>2;</highlight></codeline>
<codeline lineno="202"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>csize<sp/>=<sp/>(csd[8]<sp/>&gt;&gt;<sp/>6)<sp/>+<sp/>((<ref refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kindref="member">u16</ref>)<sp/>csd[7]<sp/>&lt;&lt;<sp/>2)<sp/>+<sp/>((<ref refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kindref="member">u16</ref>)<sp/>(csd[6]<sp/>&amp;3)<sp/>&lt;&lt;<sp/>10)<sp/>+<sp/>1;</highlight></codeline>
<codeline lineno="203"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>Capacity<sp/>=<sp/>(<ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref>)</highlight></codeline>
<codeline lineno="204"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>csize<sp/>&lt;&lt;<sp/>(n<sp/>-<sp/>9);}<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//得到扇区数</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="205"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>Capacity;}</highlight></codeline>
<codeline lineno="206"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="207" refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" kindref="member">bsp_SD::MSD0_GetCardInfo</ref>(<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o" kindref="compound">PMSD_CARDINFO</ref><sp/><ref refid="bsp___s_d_8h_1a2c85a6a257358283b46ba829ae0c2dba" kindref="member">SD0_CardInfo</ref>){</highlight></codeline>
<codeline lineno="208"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/>r1;</highlight></codeline>
<codeline lineno="209"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/>CSD_Tab[16];</highlight></codeline>
<codeline lineno="210"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/>CID_Tab[16];</highlight></codeline>
<codeline lineno="211"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Send<sp/>CMD9,<sp/>Read<sp/>CSD<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="212"><highlight class="normal"><sp/><sp/><sp/><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1a1fac6a251d7e7dc204d21639bf521459" kindref="member">CMD9</ref>,<sp/>0,<sp/>0xFF);</highlight></codeline>
<codeline lineno="213"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(r1<sp/>!=<sp/>0x00)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>r1;</highlight></codeline>
<codeline lineno="214"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe" kindref="member">SD_ReceiveData</ref>(CSD_Tab,<sp/>16))<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>1;</highlight></codeline>
<codeline lineno="215"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Send<sp/>CMD10,<sp/>Read<sp/>CID<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="216"><highlight class="normal"><sp/><sp/><sp/><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1ae7b800ed8e7bd52e6f570a5ce72b8104" kindref="member">CMD10</ref>,<sp/>0,<sp/>0xFF);</highlight></codeline>
<codeline lineno="217"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(r1<sp/>!=<sp/>0x00)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>r1;</highlight></codeline>
<codeline lineno="218"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe" kindref="member">SD_ReceiveData</ref>(CID_Tab,<sp/>16))<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>2;</highlight></codeline>
<codeline lineno="219"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>0<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="220"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a53c6d82426462a5f31a0e07bc2014d97" kindref="member">CSDStruct</ref><sp/>=<sp/>(CSD_Tab[0]<sp/>&amp;0xC0)<sp/>&gt;&gt;<sp/>6;</highlight></codeline>
<codeline lineno="221"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a8709246fbcaa2984e8752e5d028a25e1" kindref="member">SysSpecVersion</ref><sp/>=<sp/>(CSD_Tab[0]<sp/>&amp;0x3C)<sp/>&gt;&gt;<sp/>2;</highlight></codeline>
<codeline lineno="222"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a43d9f48b7a10b9b16700cc4df7f944c0" kindref="member">Reserved1</ref><sp/>=<sp/>CSD_Tab[0]<sp/>&amp;0x03;</highlight></codeline>
<codeline lineno="223"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>1<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="224"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1ac80ef2c5f8eedf6e361b9d48da66d98d" kindref="member">TAAC</ref><sp/>=<sp/>CSD_Tab[1];</highlight></codeline>
<codeline lineno="225"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>2<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="226"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1ae9fdc21394cb38fc96de03821b5b1f5b" kindref="member">NSAC</ref><sp/>=<sp/>CSD_Tab[2];</highlight></codeline>
<codeline lineno="227"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>3<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="228"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1ae4fe7f59ec2c0fec2d5c5edc912de487" kindref="member">MaxBusClkFrec</ref><sp/>=<sp/>CSD_Tab[3];</highlight></codeline>
<codeline lineno="229"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>4<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="230"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a235ebfcf7116a28eb8f7e2348b46c279" kindref="member">CardComdClasses</ref><sp/>=<sp/>CSD_Tab[4]<sp/>&lt;&lt;<sp/>4;</highlight></codeline>
<codeline lineno="231"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>5<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="232"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a235ebfcf7116a28eb8f7e2348b46c279" kindref="member">CardComdClasses</ref><sp/>|=<sp/>(CSD_Tab[5]<sp/>&amp;0xF0)<sp/>&gt;&gt;<sp/>4;</highlight></codeline>
<codeline lineno="233"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a0d503ea30e3553e3dbf1d259c1835bca" kindref="member">RdBlockLen</ref><sp/>=<sp/>CSD_Tab[5]<sp/>&amp;0x0F;</highlight></codeline>
<codeline lineno="234"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>6<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="235"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a7e302d0f797f25a53205bf683fcb9315" kindref="member">PartBlockRead</ref><sp/>=<sp/>(CSD_Tab[6]<sp/>&amp;0x80)<sp/>&gt;&gt;<sp/>7;</highlight></codeline>
<codeline lineno="236"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1aaf61be1914d24eeef107b78d57f96f66" kindref="member">WrBlockMisalign</ref><sp/>=<sp/>(CSD_Tab[6]<sp/>&amp;0x40)<sp/>&gt;&gt;<sp/>6;</highlight></codeline>
<codeline lineno="237"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1ad4c2ce16da22ad02424466d1b42d04b0" kindref="member">RdBlockMisalign</ref><sp/>=<sp/>(CSD_Tab[6]<sp/>&amp;0x20)<sp/>&gt;&gt;<sp/>5;</highlight></codeline>
<codeline lineno="238"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a6010a523c29470b3fca2a179608bb165" kindref="member">DSRImpl</ref><sp/>=<sp/>(CSD_Tab[6]<sp/>&amp;0x10)<sp/>&gt;&gt;<sp/>4;</highlight></codeline>
<codeline lineno="239"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1af46b7c72145239d75dcf08e97a8015cb" kindref="member">Reserved2</ref><sp/>=<sp/>0;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Reserved<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="240"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1ab2341b019f101f621817ab7f13f85321" kindref="member">DeviceSize</ref><sp/>=<sp/>(CSD_Tab[6]<sp/>&amp;0x03)<sp/>&lt;&lt;<sp/>10;</highlight></codeline>
<codeline lineno="241"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>7<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="242"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1ab2341b019f101f621817ab7f13f85321" kindref="member">DeviceSize</ref><sp/>|=<sp/>(CSD_Tab[7])<sp/>&lt;&lt;<sp/>2;</highlight></codeline>
<codeline lineno="243"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>8<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="244"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1ab2341b019f101f621817ab7f13f85321" kindref="member">DeviceSize</ref><sp/>|=<sp/>(CSD_Tab[8]<sp/>&amp;0xC0)<sp/>&gt;&gt;<sp/>6;</highlight></codeline>
<codeline lineno="245"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a5f028ae76ae390e7efc7581863f86fa4" kindref="member">MaxRdCurrentVDDMin</ref><sp/>=<sp/>(CSD_Tab[8]<sp/>&amp;0x38)<sp/>&gt;&gt;<sp/>3;</highlight></codeline>
<codeline lineno="246"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a81dee06837a4a641a428af5271ce7881" kindref="member">MaxRdCurrentVDDMax</ref><sp/>=<sp/>(CSD_Tab[8]<sp/>&amp;0x07);</highlight></codeline>
<codeline lineno="247"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>9<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="248"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a4312d08d19360f8cda0fdcefea8c58a8" kindref="member">MaxWrCurrentVDDMin</ref><sp/>=<sp/>(CSD_Tab[9]<sp/>&amp;0xE0)<sp/>&gt;&gt;<sp/>5;</highlight></codeline>
<codeline lineno="249"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a5a4157c022770f5f2a22da59f1287ec1" kindref="member">MaxWrCurrentVDDMax</ref><sp/>=<sp/>(CSD_Tab[9]<sp/>&amp;0x1C)<sp/>&gt;&gt;<sp/>2;</highlight></codeline>
<codeline lineno="250"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a021add43b09781e1c4feb5a911bab718" kindref="member">DeviceSizeMul</ref><sp/>=<sp/>(CSD_Tab[9]<sp/>&amp;0x03)<sp/>&lt;&lt;<sp/>1;</highlight></codeline>
<codeline lineno="251"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>10<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="252"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a021add43b09781e1c4feb5a911bab718" kindref="member">DeviceSizeMul</ref><sp/>|=<sp/>(CSD_Tab[10]<sp/>&amp;0x80)<sp/>&gt;&gt;<sp/>7;</highlight></codeline>
<codeline lineno="253"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a3217bd2b49b77943bcb3e5a6f5f0e419" kindref="member">EraseGrSize</ref><sp/>=<sp/>(CSD_Tab[10]<sp/>&amp;0x7C)<sp/>&gt;&gt;<sp/>2;</highlight></codeline>
<codeline lineno="254"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a6d4b83a1a42edb0e08f674fa6e611d28" kindref="member">EraseGrMul</ref><sp/>=<sp/>(CSD_Tab[10]<sp/>&amp;0x03)<sp/>&lt;&lt;<sp/>3;</highlight></codeline>
<codeline lineno="255"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>11<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="256"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a6d4b83a1a42edb0e08f674fa6e611d28" kindref="member">EraseGrMul</ref><sp/>|=<sp/>(CSD_Tab[11]<sp/>&amp;0xE0)<sp/>&gt;&gt;<sp/>5;</highlight></codeline>
<codeline lineno="257"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1aa21f77c612167167e40003b6d3784689" kindref="member">WrProtectGrSize</ref><sp/>=<sp/>(CSD_Tab[11]<sp/>&amp;0x1F);</highlight></codeline>
<codeline lineno="258"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>12<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="259"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a0d11fc6f8c1e51d1b63887603eee8915" kindref="member">WrProtectGrEnable</ref><sp/>=<sp/>(CSD_Tab[12]<sp/>&amp;0x80)<sp/>&gt;&gt;<sp/>7;</highlight></codeline>
<codeline lineno="260"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a1ee9e5144b15487f92f6d9ce59835428" kindref="member">ManDeflECC</ref><sp/>=<sp/>(CSD_Tab[12]<sp/>&amp;0x60)<sp/>&gt;&gt;<sp/>5;</highlight></codeline>
<codeline lineno="261"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a3ededd192a17234569a584cbd72b12ae" kindref="member">WrSpeedFact</ref><sp/>=<sp/>(CSD_Tab[12]<sp/>&amp;0x1C)<sp/>&gt;&gt;<sp/>2;</highlight></codeline>
<codeline lineno="262"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a0dcba500cb60f6ce8d95864ae2eaa307" kindref="member">MaxWrBlockLen</ref><sp/>=<sp/>(CSD_Tab[12]<sp/>&amp;0x03)<sp/>&lt;&lt;<sp/>2;</highlight></codeline>
<codeline lineno="263"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>13<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="264"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a0dcba500cb60f6ce8d95864ae2eaa307" kindref="member">MaxWrBlockLen</ref><sp/>|=<sp/>(CSD_Tab[13]<sp/>&amp;0xc0)<sp/>&gt;&gt;<sp/>6;</highlight></codeline>
<codeline lineno="265"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a3c32bff0de0b6cba1f9bd3205159e6e4" kindref="member">WriteBlockPaPartial</ref><sp/>=<sp/>(CSD_Tab[13]<sp/>&amp;0x20)<sp/>&gt;&gt;<sp/>5;</highlight></codeline>
<codeline lineno="266"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a83b44a54e8cefcfffdfb5a744d0bf3d5" kindref="member">Reserved3</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="267"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1aaadb152d2dce1323e589580ef0099fec" kindref="member">ContentProtectAppli</ref><sp/>=<sp/>(CSD_Tab[13]<sp/>&amp;0x01);</highlight></codeline>
<codeline lineno="268"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>14<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="269"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a08f8247c46de7ef2b0677886470d7792" kindref="member">FileFormatGrouop</ref><sp/>=<sp/>(CSD_Tab[14]<sp/>&amp;0x80)<sp/>&gt;&gt;<sp/>7;</highlight></codeline>
<codeline lineno="270"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a17f58dd1f98e6e6376efe142f352cb59" kindref="member">CopyFlag</ref><sp/>=<sp/>(CSD_Tab[14]<sp/>&amp;0x40)<sp/>&gt;&gt;<sp/>6;</highlight></codeline>
<codeline lineno="271"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a150bf25ff42008d58320a6b7e531c9ab" kindref="member">PermWrProtect</ref><sp/>=<sp/>(CSD_Tab[14]<sp/>&amp;0x20)<sp/>&gt;&gt;<sp/>5;</highlight></codeline>
<codeline lineno="272"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a3f2c48bb307e7779173e3563bbd5038f" kindref="member">TempWrProtect</ref><sp/>=<sp/>(CSD_Tab[14]<sp/>&amp;0x10)<sp/>&gt;&gt;<sp/>4;</highlight></codeline>
<codeline lineno="273"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1ac3510e157155d4b9d9f67591b1cb0c8e" kindref="member">FileFormat</ref><sp/>=<sp/>(CSD_Tab[14]<sp/>&amp;0x0C)<sp/>&gt;&gt;<sp/>2;</highlight></codeline>
<codeline lineno="274"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a1e153d660ffe4bbafa596d4b0b8c2906" kindref="member">ECC</ref><sp/>=<sp/>(CSD_Tab[14]<sp/>&amp;0x03);</highlight></codeline>
<codeline lineno="275"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>15<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="276"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a81e9f99cdd87dd2e0305b3b191aa5226" kindref="member">CSD_CRC</ref><sp/>=<sp/>(CSD_Tab[15]<sp/>&amp;0xFE)<sp/>&gt;&gt;<sp/>1;</highlight></codeline>
<codeline lineno="277"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1a36b124f6ffc0716dc0dc93c407b975d1" kindref="member">Reserved4</ref><sp/>=<sp/>1;</highlight></codeline>
<codeline lineno="278"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a8f29efd96df6abb8cd6353787eebca04" kindref="member">CardType</ref><sp/>==<sp/><ref refid="bsp___s_d_8h_1ae52e14c1b95e5162f4fe492d9b1b0fec" kindref="member">V2HC</ref>)<sp/>{</highlight></codeline>
<codeline lineno="279"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>7<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="280"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1ab2341b019f101f621817ab7f13f85321" kindref="member">DeviceSize</ref><sp/>=<sp/>(<ref refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kindref="member">u16</ref>)<sp/>(CSD_Tab[8])<sp/>*<sp/>256;</highlight></codeline>
<codeline lineno="281"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>8<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="282"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1ab2341b019f101f621817ab7f13f85321" kindref="member">DeviceSize</ref><sp/>+=<sp/>CSD_Tab[9];}</highlight></codeline>
<codeline lineno="283"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a4e5da8ba91229ac3ccb2d3f11f1ab4bf" kindref="member">Capacity</ref><sp/>=<sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>.<ref refid="struct_m_s_d___c_s_d_1ab2341b019f101f621817ab7f13f85321" kindref="member">DeviceSize</ref><sp/>*<sp/><ref refid="bsp___s_d_8h_1a5bda0c70032a9b8625ae5a3c55d21c38" kindref="member">MSD_BLOCKSIZE</ref><sp/>*<sp/>1024;</highlight></codeline>
<codeline lineno="284"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1aadaf986217b3c403be1cc4a2fd2fd148" kindref="member">BlockSize</ref><sp/>=<sp/><ref refid="bsp___s_d_8h_1a5bda0c70032a9b8625ae5a3c55d21c38" kindref="member">MSD_BLOCKSIZE</ref>;</highlight></codeline>
<codeline lineno="285"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>0<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="286"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>.<ref refid="struct_m_s_d___c_i_d_1a5ae9ad5d65182a34e20b87fa2752010e" kindref="member">ManufacturerID</ref><sp/>=<sp/>CID_Tab[0];</highlight></codeline>
<codeline lineno="287"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>1<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="288"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>.<ref refid="struct_m_s_d___c_i_d_1acd04644e46f7ceca82bbe9bdc80f1d53" kindref="member">OEM_AppliID</ref><sp/>=<sp/>CID_Tab[1]<sp/>&lt;&lt;<sp/>8;</highlight></codeline>
<codeline lineno="289"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>2<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="290"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>.<ref refid="struct_m_s_d___c_i_d_1acd04644e46f7ceca82bbe9bdc80f1d53" kindref="member">OEM_AppliID</ref><sp/>|=<sp/>CID_Tab[2];</highlight></codeline>
<codeline lineno="291"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>3<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="292"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>.<ref refid="struct_m_s_d___c_i_d_1ab7e359a09fecf1fa2d1b18e708dcc292" kindref="member">ProdName1</ref><sp/>=<sp/>CID_Tab[3]<sp/>&lt;&lt;<sp/>24;</highlight></codeline>
<codeline lineno="293"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>4<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="294"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>.<ref refid="struct_m_s_d___c_i_d_1ab7e359a09fecf1fa2d1b18e708dcc292" kindref="member">ProdName1</ref><sp/>|=<sp/>CID_Tab[4]<sp/>&lt;&lt;<sp/>16;</highlight></codeline>
<codeline lineno="295"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>5<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="296"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>.<ref refid="struct_m_s_d___c_i_d_1ab7e359a09fecf1fa2d1b18e708dcc292" kindref="member">ProdName1</ref><sp/>|=<sp/>CID_Tab[5]<sp/>&lt;&lt;<sp/>8;</highlight></codeline>
<codeline lineno="297"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>6<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="298"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>.<ref refid="struct_m_s_d___c_i_d_1ab7e359a09fecf1fa2d1b18e708dcc292" kindref="member">ProdName1</ref><sp/>|=<sp/>CID_Tab[6];</highlight></codeline>
<codeline lineno="299"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>7<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="300"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>.<ref refid="struct_m_s_d___c_i_d_1ad0d7606f38a0140075647fb3f66614ea" kindref="member">ProdName2</ref><sp/>=<sp/>CID_Tab[7];</highlight></codeline>
<codeline lineno="301"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>8<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="302"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>.<ref refid="struct_m_s_d___c_i_d_1acd9fbacd30fdff0eef7d885ad4ec438b" kindref="member">ProdRev</ref><sp/>=<sp/>CID_Tab[8];</highlight></codeline>
<codeline lineno="303"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>9<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="304"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>.<ref refid="struct_m_s_d___c_i_d_1a0c5c88d258f73f17a496f3b92d9cfd5c" kindref="member">ProdSN</ref><sp/>=<sp/>CID_Tab[9]<sp/>&lt;&lt;<sp/>24;</highlight></codeline>
<codeline lineno="305"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>10<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="306"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>.<ref refid="struct_m_s_d___c_i_d_1a0c5c88d258f73f17a496f3b92d9cfd5c" kindref="member">ProdSN</ref><sp/>|=<sp/>CID_Tab[10]<sp/>&lt;&lt;<sp/>16;</highlight></codeline>
<codeline lineno="307"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>11<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="308"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>.<ref refid="struct_m_s_d___c_i_d_1a0c5c88d258f73f17a496f3b92d9cfd5c" kindref="member">ProdSN</ref><sp/>|=<sp/>CID_Tab[11]<sp/>&lt;&lt;<sp/>8;</highlight></codeline>
<codeline lineno="309"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>12<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="310"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>.<ref refid="struct_m_s_d___c_i_d_1a0c5c88d258f73f17a496f3b92d9cfd5c" kindref="member">ProdSN</ref><sp/>|=<sp/>CID_Tab[12];</highlight></codeline>
<codeline lineno="311"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>13<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="312"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>.<ref refid="struct_m_s_d___c_i_d_1a1be2e4d82c95f2d158ce5f5157a7fd5b" kindref="member">Reserved1</ref><sp/>|=<sp/>(CID_Tab[13]<sp/>&amp;0xF0)<sp/>&gt;&gt;<sp/>4;</highlight></codeline>
<codeline lineno="313"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>14<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="314"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>.<ref refid="struct_m_s_d___c_i_d_1a55015d75002e50ff4f23cd19c9b5c90a" kindref="member">ManufactDate</ref><sp/>=<sp/>(CID_Tab[13]<sp/>&amp;0x0F)<sp/>&lt;&lt;<sp/>8;</highlight></codeline>
<codeline lineno="315"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>15<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="316"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>.<ref refid="struct_m_s_d___c_i_d_1a55015d75002e50ff4f23cd19c9b5c90a" kindref="member">ManufactDate</ref><sp/>|=<sp/>CID_Tab[14];</highlight></codeline>
<codeline lineno="317"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Byte<sp/>16<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="318"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>.<ref refid="struct_m_s_d___c_i_d_1a61fe89c386eb7bf7b8e2ba44545168de" kindref="member">CID_CRC</ref><sp/>=<sp/>(CID_Tab[15]<sp/>&amp;0xFE)<sp/>&gt;&gt;<sp/>1;</highlight></codeline>
<codeline lineno="319"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>-&gt;<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>.<ref refid="struct_m_s_d___c_i_d_1aac8e73e305ea1ff29ae195a6c0a63e05" kindref="member">Reserved2</ref><sp/>=<sp/>1;</highlight></codeline>
<codeline lineno="320"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;}</highlight></codeline>
<codeline lineno="321"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="329" refid="classbsp___s_d_1af203b65e00206d38ef14640f7b7242b6" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="classbsp___s_d_1af203b65e00206d38ef14640f7b7242b6" kindref="member">bsp_SD::SD_WriteDisk</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>*<sp/>buf,<sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/>sector,<sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>cnt){</highlight></codeline>
<codeline lineno="330"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>r1;</highlight></codeline>
<codeline lineno="331"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" kindref="member">SD_TYPE</ref><sp/>!=<sp/><ref refid="bsp___s_d_8h_1ae52e14c1b95e5162f4fe492d9b1b0fec" kindref="member">V2HC</ref>)<sp/>sector<sp/>*=<sp/>512;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//转换为字节地址</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="332"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(cnt<sp/>==<sp/>1){</highlight></codeline>
<codeline lineno="333"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1a252300302c6f7960df547a7f5c25be85" kindref="member">CMD24</ref>,<sp/>sector,<sp/>0X01);<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//读命令</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="334"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(r1<sp/>==<sp/>0)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//指令发送成功</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="335"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1a2df843979bb4c764422a37b255c184ea" kindref="member">SD_SendBlock</ref>(buf,<sp/>0xFE);}<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//写512个字节</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="336"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="337"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" kindref="member">SD_TYPE</ref><sp/>!=<sp/><ref refid="bsp___s_d_8h_1ab5a7d5477e55758bde614bda3250a93c" kindref="member">MMC</ref>)<sp/>{</highlight></codeline>
<codeline lineno="338"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1a78289a7a85ffcfddd626694105dc0780" kindref="member">CMD55</ref>,<sp/>0,<sp/>0X01);</highlight></codeline>
<codeline lineno="339"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1a14506e981f38b6177bc36f72c2ca18b1" kindref="member">CMD23</ref>,<sp/>cnt,<sp/>0X01);}<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//发送指令</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="340"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1aee2c673fba987178f4642531fdeefe9e" kindref="member">CMD25</ref>,<sp/>sector,<sp/>0X01);<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//连续读命令</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="341"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(r1<sp/>==<sp/>0)<sp/>{</highlight></codeline>
<codeline lineno="342"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">do</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="343"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1a2df843979bb4c764422a37b255c184ea" kindref="member">SD_SendBlock</ref>(buf,<sp/>0xFC);<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//接收512个字节</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="344"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>buf<sp/>+=<sp/>512;}</highlight><highlight class="keywordflow">while</highlight><highlight class="normal">(--cnt<sp/>&amp;&amp;<sp/>r1<sp/>==<sp/>0);</highlight></codeline>
<codeline lineno="345"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1a2df843979bb4c764422a37b255c184ea" kindref="member">SD_SendBlock</ref>(0,<sp/>0xFD);}}<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//接收512个字节</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="346"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" kindref="member">SD_CS</ref>(0);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//取消片选</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="347"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>r1;}</highlight></codeline>
<codeline lineno="348"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="356" refid="classbsp___s_d_1a96f32b50ec777acc0dd819150cd28937" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="classbsp___s_d_1a96f32b50ec777acc0dd819150cd28937" kindref="member">bsp_SD::SD_ReadDisk</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>*<sp/>buf,<sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/>sector,<sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>cnt){</highlight></codeline>
<codeline lineno="357"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>r1;</highlight></codeline>
<codeline lineno="358"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" kindref="member">SD_TYPE</ref><sp/>!=<sp/><ref refid="bsp___s_d_8h_1ae52e14c1b95e5162f4fe492d9b1b0fec" kindref="member">V2HC</ref>)<sp/>sector<sp/>&lt;&lt;=<sp/>9;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//转换为字节地址</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="359"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(cnt<sp/>==<sp/>1)<sp/>{</highlight></codeline>
<codeline lineno="360"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1a6bbfe7dc16a19b7f40efcf554b5666ad" kindref="member">CMD17</ref>,<sp/>sector,<sp/>0X01);<sp/><sp/><sp/></highlight><highlight class="comment">//读命令</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="361"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(r1<sp/>==<sp/>0)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//指令发送成功</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="362"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe" kindref="member">SD_ReceiveData</ref>(buf,<sp/>512);}<sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//接收512个字节</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="363"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="364"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1a3d32c27a6be061b865ba539127278f14" kindref="member">CMD18</ref>,<sp/>sector,<sp/>0X01);<sp/><sp/><sp/></highlight><highlight class="comment">//连续读命令</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="365"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">do</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="366"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>r1<sp/>=<sp/><ref refid="classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe" kindref="member">SD_ReceiveData</ref>(buf,<sp/>512);<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//接收512个字节<sp/><sp/><sp/></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="367"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>buf<sp/>+=<sp/>512;}</highlight></codeline>
<codeline lineno="368"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal">(--cnt<sp/>&amp;&amp;<sp/>r1<sp/>==<sp/>0);</highlight></codeline>
<codeline lineno="369"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="bsp___s_d_8h_1a8d6283c9b060afbaa0e6d1ff7e5ea7b8" kindref="member">CMD12</ref>,<sp/>0,<sp/>0X01);}<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//发送停止命令</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="370"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" kindref="member">SD_CS</ref>(0);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//取消片选</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="371"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>r1;}</highlight></codeline>
<codeline lineno="372"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="373" refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" refkind="member"><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">bsp_SD::spi_readwrite</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>Txdata){</highlight></codeline>
<codeline lineno="374"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>Rxdata;</highlight></codeline>
<codeline lineno="375"><highlight class="normal"><sp/><sp/><sp/><sp/>HAL_SPI_TransmitReceive(<ref refid="classbsp___s_d_1a227c7eb7a28e89d6adfda085a4217992" kindref="member">hspi</ref>,<sp/>&amp;Txdata,<sp/>&amp;Rxdata,<sp/>1,<sp/>0xFF);</highlight></codeline>
<codeline lineno="376"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>Rxdata;}</highlight></codeline>
<codeline lineno="377"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="383" refid="classbsp___s_d_1a5ed95b95b141ee21d83ca70c1b06a31a" refkind="member"><highlight class="comment"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classbsp___s_d_1a5ed95b95b141ee21d83ca70c1b06a31a" kindref="member">bsp_SD::SPI_setspeed</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>speed){</highlight></codeline>
<codeline lineno="384"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a227c7eb7a28e89d6adfda085a4217992" kindref="member">hspi</ref>-&gt;Init.BaudRatePrescaler<sp/>=<sp/>speed;}</highlight></codeline>
<codeline lineno="385"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="393" refid="classbsp___s_d_1a164f0bb03133464f2da485f362a52718" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="classbsp___s_d_1a164f0bb03133464f2da485f362a52718" kindref="member">bsp_SD::offsetWrite</ref>(<ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref><sp/>offset,<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>*<sp/>dat,<ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref><sp/>datlen)<sp/>{</highlight></codeline>
<codeline lineno="394"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>sectorBuff[512]<sp/>=<sp/>{<sp/>0<sp/>};</highlight></codeline>
<codeline lineno="395"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref><sp/>sectorBuffptr<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="396"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight></codeline>
<codeline lineno="397"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref><sp/>sectorSour<sp/><sp/><sp/><sp/><sp/><sp/>=<sp/>offset<sp/>/<sp/>512;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>起始扇</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="398"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref><sp/>sectorSourlen<sp/><sp/><sp/>=<sp/>offset<sp/>%<sp/>512;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>起始扇内位</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="399"><highlight class="normal"></highlight></codeline>
<codeline lineno="400"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>填入数据</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="401"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a96f32b50ec777acc0dd819150cd28937" kindref="member">SD_ReadDisk</ref>(sectorBuff,sectorSour,1);</highlight></codeline>
<codeline lineno="402"><highlight class="normal"><sp/><sp/><sp/><sp/>sectorBuffptr<sp/>=<sp/>sectorSourlen;</highlight></codeline>
<codeline lineno="403"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref><sp/>i<sp/>=<sp/>0;<sp/>i<sp/>&lt;<sp/>datlen;<sp/>i++)<sp/>{</highlight></codeline>
<codeline lineno="404"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>写入数据</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="405"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sectorBuff[sectorBuffptr]<sp/>=<sp/>dat[i];</highlight></codeline>
<codeline lineno="406"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sectorBuffptr++;</highlight></codeline>
<codeline lineno="407"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>扇区回写</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="408"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sectorBuffptr<sp/>==<sp/>512<sp/>||<sp/>i<sp/>==<sp/>datlen<sp/>-<sp/>1)<sp/>{</highlight></codeline>
<codeline lineno="409"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1af203b65e00206d38ef14640f7b7242b6" kindref="member">SD_WriteDisk</ref>(sectorBuff,sectorSour,1);</highlight></codeline>
<codeline lineno="410"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sectorBuffptr<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="411"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sectorSour++;</highlight></codeline>
<codeline lineno="412"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(i<sp/>!=<sp/>datlen<sp/>-<sp/>1)<ref refid="classbsp___s_d_1a96f32b50ec777acc0dd819150cd28937" kindref="member">SD_ReadDisk</ref>(sectorBuff,sectorSour,1);}}</highlight></codeline>
<codeline lineno="413"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="414"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="415"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="423" refid="classbsp___s_d_1a1c78e6f5a72f3bdec600a52331dd4d20" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="classbsp___s_d_1a1c78e6f5a72f3bdec600a52331dd4d20" kindref="member">bsp_SD::offsetRead</ref>(<ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref><sp/>offset,<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>*<sp/>dat,<ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref><sp/>datlen)<sp/>{</highlight></codeline>
<codeline lineno="424"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>sectorBuff[512]<sp/>=<sp/>{<sp/>0<sp/>};</highlight></codeline>
<codeline lineno="425"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref><sp/>sectorBuffptr<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="426"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight></codeline>
<codeline lineno="427"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref><sp/>sectorSour<sp/><sp/><sp/><sp/><sp/><sp/>=<sp/>offset<sp/>/<sp/>512;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>起始扇</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="428"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref><sp/>sectorSourlen<sp/><sp/><sp/>=<sp/>offset<sp/>%<sp/>512;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>起始扇内位</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="429"><highlight class="normal"></highlight></codeline>
<codeline lineno="430"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>填入数据</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="431"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a96f32b50ec777acc0dd819150cd28937" kindref="member">SD_ReadDisk</ref>(sectorBuff,sectorSour,1);</highlight></codeline>
<codeline lineno="432"><highlight class="normal"><sp/><sp/><sp/><sp/>sectorBuffptr<sp/>=<sp/>sectorSourlen;</highlight></codeline>
<codeline lineno="433"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref><sp/>i<sp/>=<sp/>0;<sp/>i<sp/>&lt;<sp/>datlen;<sp/>i++)<sp/>{</highlight></codeline>
<codeline lineno="434"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>写入数据</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="435"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>dat[i]=sectorBuff[sectorBuffptr];</highlight></codeline>
<codeline lineno="436"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sectorBuffptr++;</highlight></codeline>
<codeline lineno="437"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>扇区回写</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="438"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sectorBuffptr<sp/>==<sp/>512<sp/>||<sp/>i<sp/>==<sp/>datlen<sp/>-<sp/>1)<sp/>{</highlight></codeline>
<codeline lineno="439"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sectorBuffptr<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="440"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sectorSour++;</highlight></codeline>
<codeline lineno="441"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(i<sp/>!=<sp/>datlen<sp/>-<sp/>1)<ref refid="classbsp___s_d_1a96f32b50ec777acc0dd819150cd28937" kindref="member">SD_ReadDisk</ref>(sectorBuff,sectorSour,1);}}</highlight></codeline>
<codeline lineno="442"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;}</highlight></codeline>
<codeline lineno="444"><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="445"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/>构造函数</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="446"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="447" refid="classbsp___s_d_1a9f5ace0a335acc31271c9d131cd6d306" refkind="member"><highlight class="normal"><ref refid="classbsp___s_d_1a9f5ace0a335acc31271c9d131cd6d306" kindref="member">bsp_SD::bsp_SD</ref>(</highlight></codeline>
<codeline lineno="448"><highlight class="normal"><sp/><sp/><sp/><sp/>SPI_HandleTypeDef<sp/>*hspi,</highlight></codeline>
<codeline lineno="449"><highlight class="normal"><sp/><sp/><sp/><sp/>GPIO_TypeDef<sp/>*GPIOx_CS,</highlight></codeline>
<codeline lineno="450"><highlight class="normal"><sp/><sp/><sp/><sp/>uint16_t<sp/>GPIO_Pin_CS){</highlight></codeline>
<codeline lineno="451"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a227c7eb7a28e89d6adfda085a4217992" kindref="member">bsp_SD::hspi</ref>=<ref refid="classbsp___s_d_1a227c7eb7a28e89d6adfda085a4217992" kindref="member">hspi</ref>;</highlight></codeline>
<codeline lineno="452"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1ad7788d2e62152a2fb1a6b307fa902180" kindref="member">bsp_SD::GPIOx_CS</ref>=<ref refid="classbsp___s_d_1ad7788d2e62152a2fb1a6b307fa902180" kindref="member">GPIOx_CS</ref>;</highlight></codeline>
<codeline lineno="453"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a4525b5c0f62e39af1c9adb9a9c22239f" kindref="member">bsp_SD::GPIO_Pin_CS</ref>=<ref refid="classbsp___s_d_1a4525b5c0f62e39af1c9adb9a9c22239f" kindref="member">GPIO_Pin_CS</ref>;</highlight></codeline>
<codeline lineno="454"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a6c68fa82294f18968a92719931cff5fa" kindref="member">bsp_SD::DFF</ref>=0xFF;</highlight></codeline>
<codeline lineno="455"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" kindref="member">bsp_SD::SD_TYPE</ref>=0x00;}</highlight></codeline>
</programlisting>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp"/>
</compounddef>
</doxygen>

695
Doc/xml/bsp___s_d_8h.xml Normal file
View File

@@ -0,0 +1,695 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.5" xml:lang="zh">
<compounddef id="bsp___s_d_8h" kind="file" language="C++">
<compoundname>bsp_SD.h</compoundname>
<includes local="yes">spi.h</includes>
<includes refid="varint_8h" local="yes">varint.h</includes>
<includedby refid="bsp___s_d_8cpp" local="yes">D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp</includedby>
<incdepgraph>
<node id="1">
<label>D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h</label>
<link refid="bsp___s_d_8h"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
</node>
<node id="3">
<label>varint.h</label>
<link refid="varint_8h"/>
<childnode refid="4" relation="include">
</childnode>
</node>
<node id="2">
<label>spi.h</label>
</node>
<node id="4">
<label>stdint.h</label>
</node>
</incdepgraph>
<invincdepgraph>
<node id="2">
<label>D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp</label>
<link refid="bsp___s_d_8cpp"/>
</node>
<node id="1">
<label>D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h</label>
<link refid="bsp___s_d_8h"/>
<childnode refid="2" relation="include">
</childnode>
</node>
</invincdepgraph>
<innerclass refid="struct_m_s_d___c_s_d" prot="public">MSD_CSD</innerclass>
<innerclass refid="struct_m_s_d___c_i_d" prot="public">MSD_CID</innerclass>
<innerclass refid="struct_m_s_d___c_a_r_d_i_n_f_o" prot="public">MSD_CARDINFO</innerclass>
<innerclass refid="classbsp___s_d" prot="public">bsp_SD</innerclass>
<sectiondef kind="define">
<memberdef kind="define" id="bsp___s_d_8h_1a735563036dced0b7d6cc98f97ea4978b" prot="public" static="no">
<name>ERR</name>
<initializer>0x00</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="48" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="48" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1ab5a7d5477e55758bde614bda3250a93c" prot="public" static="no">
<name>MMC</name>
<initializer>0x01</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="49" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="49" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1ae21a9518b4dd62d2baeab430c89a657a" prot="public" static="no">
<name>V1</name>
<initializer>0x02</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="50" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="50" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1a9173468f90b474471bfff59f8487cbc1" prot="public" static="no">
<name>V2</name>
<initializer>0x04</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="51" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="51" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1ae52e14c1b95e5162f4fe492d9b1b0fec" prot="public" static="no">
<name>V2HC</name>
<initializer>0x06</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="52" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="52" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1adc81a065700d3af56b6fb631585e3641" prot="public" static="no">
<name>DUMMY_BYTE</name>
<initializer>0xFF</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="53" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="53" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1a5bda0c70032a9b8625ae5a3c55d21c38" prot="public" static="no">
<name>MSD_BLOCKSIZE</name>
<initializer>512</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="54" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="54" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1a938c1466755f12fb04ac0d1b775584d1" prot="public" static="no">
<name>CMD0</name>
<initializer>0</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="57" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="57" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1aca9979f299fa78c1128d778084478673" prot="public" static="no">
<name>CMD1</name>
<initializer>1</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="58" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="58" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1ac75b3e0ad1fb013ea946fb49bbe65668" prot="public" static="no">
<name>CMD8</name>
<initializer>8</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="59" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="59" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1a1fac6a251d7e7dc204d21639bf521459" prot="public" static="no">
<name>CMD9</name>
<initializer>9</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="60" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="60" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1ae7b800ed8e7bd52e6f570a5ce72b8104" prot="public" static="no">
<name>CMD10</name>
<initializer>10</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="61" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="61" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1a8d6283c9b060afbaa0e6d1ff7e5ea7b8" prot="public" static="no">
<name>CMD12</name>
<initializer>12</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="62" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="62" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1aaeab261b94f2031ba41a1d4d857c3541" prot="public" static="no">
<name>CMD16</name>
<initializer>16</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="63" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="63" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1a6bbfe7dc16a19b7f40efcf554b5666ad" prot="public" static="no">
<name>CMD17</name>
<initializer>17</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="64" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="64" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1a3d32c27a6be061b865ba539127278f14" prot="public" static="no">
<name>CMD18</name>
<initializer>18</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="65" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="65" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1a14506e981f38b6177bc36f72c2ca18b1" prot="public" static="no">
<name>CMD23</name>
<initializer>23</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="66" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="66" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1a252300302c6f7960df547a7f5c25be85" prot="public" static="no">
<name>CMD24</name>
<initializer>24</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="67" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="67" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1aee2c673fba987178f4642531fdeefe9e" prot="public" static="no">
<name>CMD25</name>
<initializer>25</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="68" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="68" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1a3ca1450d0ac55d2705aab03537bf2865" prot="public" static="no">
<name>CMD41</name>
<initializer>41</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="69" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="69" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1a78289a7a85ffcfddd626694105dc0780" prot="public" static="no">
<name>CMD55</name>
<initializer>55</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="70" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="70" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1aa7a26b2cf17e1ff5967820a1fa41a7aa" prot="public" static="no">
<name>CMD58</name>
<initializer>58</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="71" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="71" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1aa8ea570644ddff6d18b63e4abbf39e0d" prot="public" static="no">
<name>CMD59</name>
<initializer>59</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="72" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="72" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1ab953703883503eb3ce420f096b1621d0" prot="public" static="no">
<name>MSD_DATA_OK</name>
<initializer>0x05</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="75" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="75" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1a7ba9783b76cf956a82211e058071f984" prot="public" static="no">
<name>MSD_DATA_CRC_ERROR</name>
<initializer>0x0B</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="76" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="76" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1a6a6a48e9e40eda37b834b23d5320dfdf" prot="public" static="no">
<name>MSD_DATA_WRITE_ERROR</name>
<initializer>0x0D</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="77" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="77" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1ad68bbaecb6931999de71e8a6b703574f" prot="public" static="no">
<name>MSD_DATA_OTHER_ERROR</name>
<initializer>0xFF</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="78" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="78" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1afa5629413ae6bf82d3f1182df4cea0cf" prot="public" static="no">
<name>MSD_RESPONSE_NO_ERROR</name>
<initializer>0x00</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="80" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="80" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1a70bdd15776b2a749ae184132d2a5da28" prot="public" static="no">
<name>MSD_IN_IDLE_STATE</name>
<initializer>0x01</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="81" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="81" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1ad0ce329dc56b89327987e754ab0e93b8" prot="public" static="no">
<name>MSD_ERASE_RESET</name>
<initializer>0x02</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="82" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="82" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1a80ede800869bbe11125170faf44ad94f" prot="public" static="no">
<name>MSD_ILLEGAL_COMMAND</name>
<initializer>0x04</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="83" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="83" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1a8c6cecbb8cb9921c38776a83ed4ad343" prot="public" static="no">
<name>MSD_COM_CRC_ERROR</name>
<initializer>0x08</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="84" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="84" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1a8c7923c819c9ba27f65a380f7360f429" prot="public" static="no">
<name>MSD_ERASE_SEQUENCE_ERROR</name>
<initializer>0x10</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="85" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="85" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1a211793a480ef462b7a1c55d6d36a8c25" prot="public" static="no">
<name>MSD_ADDRESS_ERROR</name>
<initializer>0x20</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="86" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="86" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1ae3555061fbbb3bd2becaa0d1bdf6c825" prot="public" static="no">
<name>MSD_PARAMETER_ERROR</name>
<initializer>0x40</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="87" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="87" bodyend="-1"/>
</memberdef>
<memberdef kind="define" id="bsp___s_d_8h_1ab5e7857b07a45a8828a235c55d3873ff" prot="public" static="no">
<name>MSD_RESPONSE_FAILURE</name>
<initializer>0xFF</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="88" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="88" bodyend="-1"/>
</memberdef>
</sectiondef>
<sectiondef kind="enum">
<memberdef kind="enum" id="bsp___s_d_8h_1a81ab6678d52bfaa2c2dc9048f5215cf9" prot="public" static="no" strong="no">
<type></type>
<name>_CD_HOLD</name>
<enumvalue id="bsp___s_d_8h_1a81ab6678d52bfaa2c2dc9048f5215cf9a9cfa27b414cab750fb14ec07cdf5cf6a" prot="public">
<name>HOLD</name>
<initializer>= 0</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="bsp___s_d_8h_1a81ab6678d52bfaa2c2dc9048f5215cf9ad590443978dc58d64aed5001f56efcdf" prot="public">
<name>RELEASE</name>
<initializer>= 1</initializer>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="90" column="1" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="90" bodyend="93"/>
</memberdef>
</sectiondef>
<sectiondef kind="typedef">
<memberdef kind="typedef" id="bsp___s_d_8h_1a64c818be5c771b5bcfd5cbd998c0f9c6" prot="public" static="no">
<type>struct <ref refid="struct_m_s_d___c_a_r_d_i_n_f_o" kindref="compound">MSD_CARDINFO</ref> *</type>
<definition>typedef struct MSD_CARDINFO * PMSD_CARDINFO</definition>
<argsstring></argsstring>
<name>PMSD_CARDINFO</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="160" column="16"/>
</memberdef>
</sectiondef>
<sectiondef kind="var">
<memberdef kind="variable" id="bsp___s_d_8h_1a2c85a6a257358283b46ba829ae0c2dba" prot="public" static="no" mutable="no">
<type><ref refid="struct_m_s_d___c_a_r_d_i_n_f_o" kindref="compound">MSD_CARDINFO</ref></type>
<definition>MSD_CARDINFO SD0_CardInfo</definition>
<argsstring></argsstring>
<name>SD0_CardInfo</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="161" column="21" declfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" declline="161" declcolumn="21"/>
</memberdef>
</sectiondef>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<programlisting>
<codeline lineno="1"><highlight class="comment">/*----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="2"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="3"><highlight class="comment"><sp/>#<sp/><sp/>Copyright<sp/>(c)<sp/>2022<sp/>Yuankang<sp/>Liang(XerolySkinner)</highlight></codeline>
<codeline lineno="4"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="5"><highlight class="comment"><sp/>#<sp/><sp/>本软件按原样提供,无任何明示或暗示</highlight></codeline>
<codeline lineno="6"><highlight class="comment"><sp/>#<sp/><sp/>在任何情况下,作者都不承担任何损害赔偿责任</highlight></codeline>
<codeline lineno="7"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="8"><highlight class="comment"><sp/>#<sp/><sp/>使用的许可声明:</highlight></codeline>
<codeline lineno="9"><highlight class="comment"><sp/>#<sp/><sp/>1.<sp/><sp/>不得歪曲本软件的来源,你不能声称你编写了原始软件.</highlight></codeline>
<codeline lineno="10"><highlight class="comment"><sp/>#<sp/><sp/>2.<sp/><sp/>免费授予以任何目的,前提是版权声明出现在所有副本中.</highlight></codeline>
<codeline lineno="11"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>并且版权声明和许可声明同时出现.</highlight></codeline>
<codeline lineno="12"><highlight class="comment"><sp/>#<sp/><sp/>3.<sp/><sp/>你有使用,复制,修改,分发,和销售本软件的许可.</highlight></codeline>
<codeline lineno="13"><highlight class="comment"><sp/>#<sp/><sp/>4.<sp/><sp/>如果你在产品中使用,产品文档中的声明是赞赏的但不是必须的.</highlight></codeline>
<codeline lineno="14"><highlight class="comment"><sp/>#<sp/><sp/>5.<sp/><sp/>本通知不得从任何来源删除或更改.</highlight></codeline>
<codeline lineno="15"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="16"><highlight class="comment"><sp/>#<sp/><sp/>Yuankang<sp/>Liang(XerolySkinner)</highlight></codeline>
<codeline lineno="17"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>E-mail:zabbcccbbaz@163.com</highlight></codeline>
<codeline lineno="18"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>QQ:2715099320</highlight></codeline>
<codeline lineno="19"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>Mobile<sp/>Phone:13005636215</highlight></codeline>
<codeline lineno="20"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="21"><highlight class="comment"><sp/>#<sp/><sp/>All<sp/>rights<sp/>reserved.</highlight></codeline>
<codeline lineno="22"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="23"><highlight class="normal"></highlight></codeline>
<codeline lineno="34"><highlight class="normal"></highlight><highlight class="preprocessor">#pragma<sp/>once</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="35"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>__cplusplus</highlight></codeline>
<codeline lineno="37"><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="38"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/>头文件</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="39"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="40"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;spi.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="41"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="varint_8h" kindref="compound">varint.h</ref>&quot;</highlight></codeline>
<codeline lineno="43"><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="44"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/>数据</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="45"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="46"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="47"><highlight class="normal"></highlight><highlight class="comment">//SD卡类型</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="48" refid="bsp___s_d_8h_1a735563036dced0b7d6cc98f97ea4978b" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>ERR<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x00</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="49" refid="bsp___s_d_8h_1ab5a7d5477e55758bde614bda3250a93c" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MMC<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x01</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="50" refid="bsp___s_d_8h_1ae21a9518b4dd62d2baeab430c89a657a" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>V1<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x02</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="51" refid="bsp___s_d_8h_1a9173468f90b474471bfff59f8487cbc1" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>V2<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x04</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="52" refid="bsp___s_d_8h_1ae52e14c1b95e5162f4fe492d9b1b0fec" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>V2HC<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x06</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="53" refid="bsp___s_d_8h_1adc81a065700d3af56b6fb631585e3641" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>DUMMY_BYTE<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0xFF<sp/></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="54" refid="bsp___s_d_8h_1a5bda0c70032a9b8625ae5a3c55d21c38" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MSD_BLOCKSIZE<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>512</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="55"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="56"><highlight class="normal"></highlight><highlight class="comment">//CMD定义</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="57" refid="bsp___s_d_8h_1a938c1466755f12fb04ac0d1b775584d1" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>CMD0<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//卡复位</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="58" refid="bsp___s_d_8h_1aca9979f299fa78c1128d778084478673" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>CMD1<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>1</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="59" refid="bsp___s_d_8h_1ac75b3e0ad1fb013ea946fb49bbe65668" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>CMD8<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>8<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//命令8<sp/>SEND_IF_COND</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="60" refid="bsp___s_d_8h_1a1fac6a251d7e7dc204d21639bf521459" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>CMD9<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>9<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//命令9<sp/>读CSD数据</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="61" refid="bsp___s_d_8h_1ae7b800ed8e7bd52e6f570a5ce72b8104" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>CMD10<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>10<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//命令10读CID数据</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="62" refid="bsp___s_d_8h_1a8d6283c9b060afbaa0e6d1ff7e5ea7b8" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>CMD12<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>12<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//命令12停止数据传输</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="63" refid="bsp___s_d_8h_1aaeab261b94f2031ba41a1d4d857c3541" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>CMD16<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>16<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//命令16设置SectorSize<sp/>应返回0x00</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="64" refid="bsp___s_d_8h_1a6bbfe7dc16a19b7f40efcf554b5666ad" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>CMD17<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>17<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//命令17读sector</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="65" refid="bsp___s_d_8h_1a3d32c27a6be061b865ba539127278f14" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>CMD18<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>18<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//命令18读Multi<sp/>sector</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="66" refid="bsp___s_d_8h_1a14506e981f38b6177bc36f72c2ca18b1" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>CMD23<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>23<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//命令23设置多sector写入前预先擦除N个block</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="67" refid="bsp___s_d_8h_1a252300302c6f7960df547a7f5c25be85" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>CMD24<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>24<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//命令24写sector</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="68" refid="bsp___s_d_8h_1aee2c673fba987178f4642531fdeefe9e" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>CMD25<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>25<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//命令25写Multi<sp/>sector</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="69" refid="bsp___s_d_8h_1a3ca1450d0ac55d2705aab03537bf2865" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>CMD41<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>41<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//命令41应返回0x00</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="70" refid="bsp___s_d_8h_1a78289a7a85ffcfddd626694105dc0780" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>CMD55<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>55<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//命令55应返回0x01</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="71" refid="bsp___s_d_8h_1aa7a26b2cf17e1ff5967820a1fa41a7aa" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>CMD58<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>58<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//命令58读OCR信息</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="72" refid="bsp___s_d_8h_1aa8ea570644ddff6d18b63e4abbf39e0d" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>CMD59<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>59<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//命令59使能/禁止CRC应返回0x00</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="73"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="74"><highlight class="normal"></highlight><highlight class="comment">//数据写入回应字意义</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="75" refid="bsp___s_d_8h_1ab953703883503eb3ce420f096b1621d0" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MSD_DATA_OK<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x05</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="76" refid="bsp___s_d_8h_1a7ba9783b76cf956a82211e058071f984" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MSD_DATA_CRC_ERROR<sp/><sp/><sp/><sp/><sp/><sp/>0x0B</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="77" refid="bsp___s_d_8h_1a6a6a48e9e40eda37b834b23d5320dfdf" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MSD_DATA_WRITE_ERROR<sp/><sp/><sp/><sp/>0x0D</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="78" refid="bsp___s_d_8h_1ad68bbaecb6931999de71e8a6b703574f" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MSD_DATA_OTHER_ERROR<sp/><sp/><sp/><sp/>0xFF</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="79"><highlight class="normal"></highlight><highlight class="comment">//SD卡回应标记字</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="80" refid="bsp___s_d_8h_1afa5629413ae6bf82d3f1182df4cea0cf" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MSD_RESPONSE_NO_ERROR<sp/><sp/><sp/>0x00</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="81" refid="bsp___s_d_8h_1a70bdd15776b2a749ae184132d2a5da28" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MSD_IN_IDLE_STATE<sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x01</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="82" refid="bsp___s_d_8h_1ad0ce329dc56b89327987e754ab0e93b8" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MSD_ERASE_RESET<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x02</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="83" refid="bsp___s_d_8h_1a80ede800869bbe11125170faf44ad94f" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MSD_ILLEGAL_COMMAND<sp/><sp/><sp/><sp/><sp/>0x04</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="84" refid="bsp___s_d_8h_1a8c6cecbb8cb9921c38776a83ed4ad343" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MSD_COM_CRC_ERROR<sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x08</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="85" refid="bsp___s_d_8h_1a8c7923c819c9ba27f65a380f7360f429" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MSD_ERASE_SEQUENCE_ERROR<sp/>0x10</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="86" refid="bsp___s_d_8h_1a211793a480ef462b7a1c55d6d36a8c25" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MSD_ADDRESS_ERROR<sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x20</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="87" refid="bsp___s_d_8h_1ae3555061fbbb3bd2becaa0d1bdf6c825" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MSD_PARAMETER_ERROR<sp/><sp/><sp/><sp/><sp/>0x40</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="88" refid="bsp___s_d_8h_1ab5e7857b07a45a8828a235c55d3873ff" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>MSD_RESPONSE_FAILURE<sp/><sp/><sp/><sp/>0xFF</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="89"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="90" refid="bsp___s_d_8h_1a81ab6678d52bfaa2c2dc9048f5215cf9" refkind="member"><highlight class="normal"></highlight><highlight class="keyword">enum</highlight><highlight class="normal"><sp/><ref refid="bsp___s_d_8h_1a81ab6678d52bfaa2c2dc9048f5215cf9" kindref="member">_CD_HOLD</ref><sp/>{</highlight></codeline>
<codeline lineno="91" refid="bsp___s_d_8h_1a81ab6678d52bfaa2c2dc9048f5215cf9a9cfa27b414cab750fb14ec07cdf5cf6a" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="bsp___s_d_8h_1a81ab6678d52bfaa2c2dc9048f5215cf9a9cfa27b414cab750fb14ec07cdf5cf6a" kindref="member">HOLD</ref><sp/>=<sp/>0,<sp/></highlight></codeline>
<codeline lineno="92" refid="bsp___s_d_8h_1a81ab6678d52bfaa2c2dc9048f5215cf9ad590443978dc58d64aed5001f56efcdf" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="bsp___s_d_8h_1a81ab6678d52bfaa2c2dc9048f5215cf9ad590443978dc58d64aed5001f56efcdf" kindref="member">RELEASE</ref><sp/>=<sp/>1,<sp/></highlight></codeline>
<codeline lineno="93"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="94"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="95" refid="struct_m_s_d___c_s_d" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">{<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Card<sp/>Specific<sp/>Data<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="96" refid="struct_m_s_d___c_s_d_1a53c6d82426462a5f31a0e07bc2014d97" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a53c6d82426462a5f31a0e07bc2014d97" kindref="member">CSDStruct</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>CSD<sp/>structure<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="97" refid="struct_m_s_d___c_s_d_1a8709246fbcaa2984e8752e5d028a25e1" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a8709246fbcaa2984e8752e5d028a25e1" kindref="member">SysSpecVersion</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>System<sp/>specification<sp/>version<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="98" refid="struct_m_s_d___c_s_d_1a43d9f48b7a10b9b16700cc4df7f944c0" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a43d9f48b7a10b9b16700cc4df7f944c0" kindref="member">Reserved1</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Reserved<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="99" refid="struct_m_s_d___c_s_d_1ac80ef2c5f8eedf6e361b9d48da66d98d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1ac80ef2c5f8eedf6e361b9d48da66d98d" kindref="member">TAAC</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Data<sp/>read<sp/>access-time<sp/>1<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="100" refid="struct_m_s_d___c_s_d_1ae9fdc21394cb38fc96de03821b5b1f5b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1ae9fdc21394cb38fc96de03821b5b1f5b" kindref="member">NSAC</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Data<sp/>read<sp/>access-time<sp/>2<sp/>in<sp/>CLK<sp/>cycles<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="101" refid="struct_m_s_d___c_s_d_1ae4fe7f59ec2c0fec2d5c5edc912de487" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1ae4fe7f59ec2c0fec2d5c5edc912de487" kindref="member">MaxBusClkFrec</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Max.<sp/>bus<sp/>clock<sp/>frequency<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="102" refid="struct_m_s_d___c_s_d_1a235ebfcf7116a28eb8f7e2348b46c279" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kindref="member">u16</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a235ebfcf7116a28eb8f7e2348b46c279" kindref="member">CardComdClasses</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Card<sp/>command<sp/>classes<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="103" refid="struct_m_s_d___c_s_d_1a0d503ea30e3553e3dbf1d259c1835bca" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a0d503ea30e3553e3dbf1d259c1835bca" kindref="member">RdBlockLen</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Max.<sp/>read<sp/>data<sp/>block<sp/>length<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="104" refid="struct_m_s_d___c_s_d_1a7e302d0f797f25a53205bf683fcb9315" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a7e302d0f797f25a53205bf683fcb9315" kindref="member">PartBlockRead</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Partial<sp/>blocks<sp/>for<sp/>read<sp/>allowed<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="105" refid="struct_m_s_d___c_s_d_1aaf61be1914d24eeef107b78d57f96f66" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1aaf61be1914d24eeef107b78d57f96f66" kindref="member">WrBlockMisalign</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Write<sp/>block<sp/>misalignment<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="106" refid="struct_m_s_d___c_s_d_1ad4c2ce16da22ad02424466d1b42d04b0" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1ad4c2ce16da22ad02424466d1b42d04b0" kindref="member">RdBlockMisalign</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Read<sp/>block<sp/>misalignment<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="107" refid="struct_m_s_d___c_s_d_1a6010a523c29470b3fca2a179608bb165" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a6010a523c29470b3fca2a179608bb165" kindref="member">DSRImpl</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>DSR<sp/>implemented<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="108" refid="struct_m_s_d___c_s_d_1af46b7c72145239d75dcf08e97a8015cb" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1af46b7c72145239d75dcf08e97a8015cb" kindref="member">Reserved2</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Reserved<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="109" refid="struct_m_s_d___c_s_d_1ab2341b019f101f621817ab7f13f85321" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1ab2341b019f101f621817ab7f13f85321" kindref="member">DeviceSize</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Device<sp/>Size<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="110" refid="struct_m_s_d___c_s_d_1a5f028ae76ae390e7efc7581863f86fa4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a5f028ae76ae390e7efc7581863f86fa4" kindref="member">MaxRdCurrentVDDMin</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Max.<sp/>read<sp/>current<sp/>@<sp/>VDD<sp/>min<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="111" refid="struct_m_s_d___c_s_d_1a81dee06837a4a641a428af5271ce7881" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a81dee06837a4a641a428af5271ce7881" kindref="member">MaxRdCurrentVDDMax</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Max.<sp/>read<sp/>current<sp/>@<sp/>VDD<sp/>max<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="112" refid="struct_m_s_d___c_s_d_1a4312d08d19360f8cda0fdcefea8c58a8" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a4312d08d19360f8cda0fdcefea8c58a8" kindref="member">MaxWrCurrentVDDMin</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Max.<sp/>write<sp/>current<sp/>@<sp/>VDD<sp/>min<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="113" refid="struct_m_s_d___c_s_d_1a5a4157c022770f5f2a22da59f1287ec1" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a5a4157c022770f5f2a22da59f1287ec1" kindref="member">MaxWrCurrentVDDMax</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Max.<sp/>write<sp/>current<sp/>@<sp/>VDD<sp/>max<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="114" refid="struct_m_s_d___c_s_d_1a021add43b09781e1c4feb5a911bab718" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a021add43b09781e1c4feb5a911bab718" kindref="member">DeviceSizeMul</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Device<sp/>size<sp/>multiplier<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="115" refid="struct_m_s_d___c_s_d_1a3217bd2b49b77943bcb3e5a6f5f0e419" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a3217bd2b49b77943bcb3e5a6f5f0e419" kindref="member">EraseGrSize</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Erase<sp/>group<sp/>size<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="116" refid="struct_m_s_d___c_s_d_1a6d4b83a1a42edb0e08f674fa6e611d28" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a6d4b83a1a42edb0e08f674fa6e611d28" kindref="member">EraseGrMul</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Erase<sp/>group<sp/>size<sp/>multiplier<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="117" refid="struct_m_s_d___c_s_d_1aa21f77c612167167e40003b6d3784689" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1aa21f77c612167167e40003b6d3784689" kindref="member">WrProtectGrSize</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Write<sp/>protect<sp/>group<sp/>size<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="118" refid="struct_m_s_d___c_s_d_1a0d11fc6f8c1e51d1b63887603eee8915" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a0d11fc6f8c1e51d1b63887603eee8915" kindref="member">WrProtectGrEnable</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Write<sp/>protect<sp/>group<sp/>enable<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="119" refid="struct_m_s_d___c_s_d_1a1ee9e5144b15487f92f6d9ce59835428" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a1ee9e5144b15487f92f6d9ce59835428" kindref="member">ManDeflECC</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Manufacturer<sp/>default<sp/>ECC<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="120" refid="struct_m_s_d___c_s_d_1a3ededd192a17234569a584cbd72b12ae" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a3ededd192a17234569a584cbd72b12ae" kindref="member">WrSpeedFact</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Write<sp/>speed<sp/>factor<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="121" refid="struct_m_s_d___c_s_d_1a0dcba500cb60f6ce8d95864ae2eaa307" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a0dcba500cb60f6ce8d95864ae2eaa307" kindref="member">MaxWrBlockLen</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Max.<sp/>write<sp/>data<sp/>block<sp/>length<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="122" refid="struct_m_s_d___c_s_d_1a3c32bff0de0b6cba1f9bd3205159e6e4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a3c32bff0de0b6cba1f9bd3205159e6e4" kindref="member">WriteBlockPaPartial</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Partial<sp/>blocks<sp/>for<sp/>write<sp/>allowed<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="123" refid="struct_m_s_d___c_s_d_1a83b44a54e8cefcfffdfb5a744d0bf3d5" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a83b44a54e8cefcfffdfb5a744d0bf3d5" kindref="member">Reserved3</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Reserded<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="124" refid="struct_m_s_d___c_s_d_1aaadb152d2dce1323e589580ef0099fec" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1aaadb152d2dce1323e589580ef0099fec" kindref="member">ContentProtectAppli</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Content<sp/>protection<sp/>application<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="125" refid="struct_m_s_d___c_s_d_1a08f8247c46de7ef2b0677886470d7792" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a08f8247c46de7ef2b0677886470d7792" kindref="member">FileFormatGrouop</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>File<sp/>format<sp/>group<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="126" refid="struct_m_s_d___c_s_d_1a17f58dd1f98e6e6376efe142f352cb59" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a17f58dd1f98e6e6376efe142f352cb59" kindref="member">CopyFlag</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Copy<sp/>flag<sp/>(OTP)<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="127" refid="struct_m_s_d___c_s_d_1a150bf25ff42008d58320a6b7e531c9ab" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a150bf25ff42008d58320a6b7e531c9ab" kindref="member">PermWrProtect</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Permanent<sp/>write<sp/>protection<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="128" refid="struct_m_s_d___c_s_d_1a3f2c48bb307e7779173e3563bbd5038f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a3f2c48bb307e7779173e3563bbd5038f" kindref="member">TempWrProtect</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Temporary<sp/>write<sp/>protection<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="129" refid="struct_m_s_d___c_s_d_1ac3510e157155d4b9d9f67591b1cb0c8e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1ac3510e157155d4b9d9f67591b1cb0c8e" kindref="member">FileFormat</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>File<sp/>Format<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="130" refid="struct_m_s_d___c_s_d_1a1e153d660ffe4bbafa596d4b0b8c2906" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a1e153d660ffe4bbafa596d4b0b8c2906" kindref="member">ECC</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>ECC<sp/>code<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="131" refid="struct_m_s_d___c_s_d_1a81e9f99cdd87dd2e0305b3b191aa5226" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a81e9f99cdd87dd2e0305b3b191aa5226" kindref="member">CSD_CRC</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>CSD<sp/>CRC<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="132" refid="struct_m_s_d___c_s_d_1a36b124f6ffc0716dc0dc93c407b975d1" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d_1a36b124f6ffc0716dc0dc93c407b975d1" kindref="member">Reserved4</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>always<sp/>1*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="133"><highlight class="normal">}<sp/><ref refid="struct_m_s_d___c_s_d" kindref="compound">MSD_CSD</ref>;</highlight></codeline>
<codeline lineno="134"><highlight class="normal"></highlight></codeline>
<codeline lineno="135"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="136" refid="struct_m_s_d___c_i_d" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">{<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*Card<sp/>Identification<sp/>Data*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="137" refid="struct_m_s_d___c_i_d_1a5ae9ad5d65182a34e20b87fa2752010e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_i_d_1a5ae9ad5d65182a34e20b87fa2752010e" kindref="member">ManufacturerID</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>ManufacturerID<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="138" refid="struct_m_s_d___c_i_d_1acd04644e46f7ceca82bbe9bdc80f1d53" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kindref="member">u16</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_i_d_1acd04644e46f7ceca82bbe9bdc80f1d53" kindref="member">OEM_AppliID</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>OEM/Application<sp/>ID<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="139" refid="struct_m_s_d___c_i_d_1ab7e359a09fecf1fa2d1b18e708dcc292" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_i_d_1ab7e359a09fecf1fa2d1b18e708dcc292" kindref="member">ProdName1</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Product<sp/>Name<sp/>part1<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="140" refid="struct_m_s_d___c_i_d_1ad0d7606f38a0140075647fb3f66614ea" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_i_d_1ad0d7606f38a0140075647fb3f66614ea" kindref="member">ProdName2</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Product<sp/>Name<sp/>part2*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="141" refid="struct_m_s_d___c_i_d_1acd9fbacd30fdff0eef7d885ad4ec438b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_i_d_1acd9fbacd30fdff0eef7d885ad4ec438b" kindref="member">ProdRev</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Product<sp/>Revision<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="142" refid="struct_m_s_d___c_i_d_1a0c5c88d258f73f17a496f3b92d9cfd5c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_i_d_1a0c5c88d258f73f17a496f3b92d9cfd5c" kindref="member">ProdSN</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Product<sp/>Serial<sp/>Number<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="143" refid="struct_m_s_d___c_i_d_1a1be2e4d82c95f2d158ce5f5157a7fd5b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_i_d_1a1be2e4d82c95f2d158ce5f5157a7fd5b" kindref="member">Reserved1</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Reserved1<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="144" refid="struct_m_s_d___c_i_d_1a55015d75002e50ff4f23cd19c9b5c90a" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kindref="member">u16</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_i_d_1a55015d75002e50ff4f23cd19c9b5c90a" kindref="member">ManufactDate</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Manufacturing<sp/>Date<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="145" refid="struct_m_s_d___c_i_d_1a61fe89c386eb7bf7b8e2ba44545168de" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_i_d_1a61fe89c386eb7bf7b8e2ba44545168de" kindref="member">CID_CRC</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>CID<sp/>CRC<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="146" refid="struct_m_s_d___c_i_d_1aac8e73e305ea1ff29ae195a6c0a63e05" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_i_d_1aac8e73e305ea1ff29ae195a6c0a63e05" kindref="member">Reserved2</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>always<sp/>1<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="147"><highlight class="normal">}<sp/><ref refid="struct_m_s_d___c_i_d" kindref="compound">MSD_CID</ref>;</highlight></codeline>
<codeline lineno="148"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="149" refid="struct_m_s_d___c_a_r_d_i_n_f_o" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="150" refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_s_d" kindref="compound">MSD_CSD</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kindref="member">CSD</ref>;</highlight></codeline>
<codeline lineno="151" refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_i_d" kindref="compound">MSD_CID</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kindref="member">CID</ref>;</highlight></codeline>
<codeline lineno="152" refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a4e5da8ba91229ac3ccb2d3f11f1ab4bf" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a4e5da8ba91229ac3ccb2d3f11f1ab4bf" kindref="member">Capacity</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Card<sp/>Capacity<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="153" refid="struct_m_s_d___c_a_r_d_i_n_f_o_1aadaf986217b3c403be1cc4a2fd2fd148" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1aadaf986217b3c403be1cc4a2fd2fd148" kindref="member">BlockSize</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Card<sp/>Block<sp/>Size<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="154" refid="struct_m_s_d___c_a_r_d_i_n_f_o_1aee98628e11a144ac136f22aefcab744a" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kindref="member">u16</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1aee98628e11a144ac136f22aefcab744a" kindref="member">RCA</ref>;</highlight></codeline>
<codeline lineno="155" refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a8f29efd96df6abb8cd6353787eebca04" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a8f29efd96df6abb8cd6353787eebca04" kindref="member">CardType</ref>;</highlight></codeline>
<codeline lineno="156" refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a1c923e804e2658280f90cdbfaefe1568" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a1c923e804e2658280f90cdbfaefe1568" kindref="member">SpaceTotal</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Total<sp/>space<sp/>size<sp/>in<sp/>file<sp/>system<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="157" refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a6d9423ab31cd74088dc7b8aadaa20e24" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a6d9423ab31cd74088dc7b8aadaa20e24" kindref="member">SpaceFree</ref>;</highlight></codeline>
<codeline lineno="158"><highlight class="normal">}<sp/></highlight><highlight class="comment">/*<sp/>Free<sp/>space<sp/>size<sp/>in<sp/>file<sp/>system<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="159"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="160" refid="bsp___s_d_8h_1a64c818be5c771b5bcfd5cbd998c0f9c6" refkind="member"><highlight class="normal"><ref refid="struct_m_s_d___c_a_r_d_i_n_f_o" kindref="compound">MSD_CARDINFO</ref>,<sp/>*<ref refid="bsp___s_d_8h_1a64c818be5c771b5bcfd5cbd998c0f9c6" kindref="member">PMSD_CARDINFO</ref>;</highlight></codeline>
<codeline lineno="161"><highlight class="normal"></highlight><highlight class="keyword">extern</highlight><highlight class="normal"><sp/><ref refid="struct_m_s_d___c_a_r_d_i_n_f_o" kindref="compound">MSD_CARDINFO</ref><sp/><ref refid="bsp___s_d_8h_1a2c85a6a257358283b46ba829ae0c2dba" kindref="member">SD0_CardInfo</ref>;</highlight></codeline>
<codeline lineno="163"><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="164"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/>类目</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="165"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/></highlight></codeline>
<codeline lineno="169" refid="classbsp___s_d" refkind="compound"><highlight class="comment"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classbsp___s_d" kindref="compound">bsp_SD</ref>{</highlight></codeline>
<codeline lineno="170"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="171"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d" kindref="compound">bsp_SD</ref>(SPI_HandleTypeDef<sp/>*<ref refid="classbsp___s_d_1a227c7eb7a28e89d6adfda085a4217992" kindref="member">hspi</ref>,GPIO_TypeDef<sp/>*<ref refid="classbsp___s_d_1ad7788d2e62152a2fb1a6b307fa902180" kindref="member">GPIOx_CS</ref>,uint16_t<sp/><ref refid="classbsp___s_d_1a4525b5c0f62e39af1c9adb9a9c22239f" kindref="member">GPIO_Pin_CS</ref>);</highlight></codeline>
<codeline lineno="172"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="173"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a1e0a3f09367627bcafc8efaaeb90b066" kindref="member">SD_init</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="174"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a96f32b50ec777acc0dd819150cd28937" kindref="member">SD_ReadDisk</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>*<sp/>buf,<sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/>sector,<sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>cnt);</highlight></codeline>
<codeline lineno="175"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1af203b65e00206d38ef14640f7b7242b6" kindref="member">SD_WriteDisk</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>*<sp/>buf,<sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/>sector,<sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>cnt);</highlight></codeline>
<codeline lineno="176"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a600cc886dc5da6d34f75d0bf226c1b92" kindref="member">SD_GetSectorCount</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="177"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a164f0bb03133464f2da485f362a52718" kindref="member">offsetWrite</ref>(<ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref><sp/>offset,<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>*<sp/>dat,<ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref><sp/>datlen);</highlight></codeline>
<codeline lineno="178"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a1c78e6f5a72f3bdec600a52331dd4d20" kindref="member">offsetRead</ref>(<ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref><sp/>offset,<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>*<sp/>dat,<ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref><sp/>datlen);</highlight></codeline>
<codeline lineno="179"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="180" refid="classbsp___s_d_1a227c7eb7a28e89d6adfda085a4217992" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>SPI_HandleTypeDef<sp/><sp/><sp/>*<ref refid="classbsp___s_d_1a227c7eb7a28e89d6adfda085a4217992" kindref="member">hspi</ref>;</highlight></codeline>
<codeline lineno="181" refid="classbsp___s_d_1ad7788d2e62152a2fb1a6b307fa902180" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GPIO_TypeDef<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*<ref refid="classbsp___s_d_1ad7788d2e62152a2fb1a6b307fa902180" kindref="member">GPIOx_CS</ref>;</highlight></codeline>
<codeline lineno="182" refid="classbsp___s_d_1a4525b5c0f62e39af1c9adb9a9c22239f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>uint16_t<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a4525b5c0f62e39af1c9adb9a9c22239f" kindref="member">GPIO_Pin_CS</ref>;</highlight></codeline>
<codeline lineno="183"><highlight class="normal"></highlight></codeline>
<codeline lineno="184" refid="classbsp___s_d_1a6c68fa82294f18968a92719931cff5fa" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a6c68fa82294f18968a92719931cff5fa" kindref="member">DFF</ref>;</highlight></codeline>
<codeline lineno="185" refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" kindref="member">SD_TYPE</ref>;</highlight></codeline>
<codeline lineno="186" refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct_m_s_d___c_a_r_d_i_n_f_o" kindref="compound">MSD_CARDINFO</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>;</highlight></codeline>
<codeline lineno="187"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
<codeline lineno="188"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" kindref="member">SD_CS</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>p);</highlight></codeline>
<codeline lineno="189"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a25bc03ff69d0c3c9a73153c71c84a8b0" kindref="member">SD_GETCID</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>*<sp/>cid_data);</highlight></codeline>
<codeline lineno="190"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1ad0426f6a4b550e60a926c95724d81665" kindref="member">SD_GETCSD</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>*<sp/>csd_data);</highlight></codeline>
<codeline lineno="191"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" kindref="member">MSD0_GetCardInfo</ref>(<ref refid="struct_m_s_d___c_a_r_d_i_n_f_o" kindref="compound">PMSD_CARDINFO</ref><sp/><ref refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kindref="member">SD0_CardInfo</ref>);</highlight></codeline>
<codeline lineno="192"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe" kindref="member">SD_ReceiveData</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>*<sp/>data,<sp/><ref refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kindref="member">u16</ref><sp/>len);</highlight></codeline>
<codeline lineno="193"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a2df843979bb4c764422a37b255c184ea" kindref="member">SD_SendBlock</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>*<sp/>buf,<sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>cmd);</highlight></codeline>
<codeline lineno="194"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kindref="member">SD_sendcmd</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>cmd,<sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/>arg,<sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>crc);</highlight></codeline>
<codeline lineno="195"><highlight class="normal"></highlight></codeline>
<codeline lineno="196"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a5ed95b95b141ee21d83ca70c1b06a31a" kindref="member">SPI_setspeed</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>speed);</highlight></codeline>
<codeline lineno="197"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kindref="member">spi_readwrite</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>Txdata);</highlight></codeline>
<codeline lineno="198"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="200"><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="201"><highlight class="normal"></highlight></codeline>
</programlisting>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h"/>
</compounddef>
</doxygen>

883
Doc/xml/classbsp___s_d.xml Normal file
View File

@@ -0,0 +1,883 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.5" xml:lang="zh">
<compounddef id="classbsp___s_d" kind="class" language="C++" prot="public">
<compoundname>bsp_SD</compoundname>
<includes refid="bsp___s_d_8h" local="no">bsp_SD.h</includes>
<sectiondef kind="private-attrib">
<memberdef kind="variable" id="classbsp___s_d_1a227c7eb7a28e89d6adfda085a4217992" prot="private" static="no" mutable="no">
<type>SPI_HandleTypeDef *</type>
<definition>SPI_HandleTypeDef* bsp_SD::hspi</definition>
<argsstring></argsstring>
<name>hspi</name>
<qualifiedname>bsp_SD::hspi</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="180" column="18" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="180" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1a9f5ace0a335acc31271c9d131cd6d306" compoundref="bsp___s_d_8cpp" startline="447" endline="455">bsp_SD</referencedby>
<referencedby refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" compoundref="bsp___s_d_8cpp" startline="373" endline="376">spi_readwrite</referencedby>
<referencedby refid="classbsp___s_d_1a5ed95b95b141ee21d83ca70c1b06a31a" compoundref="bsp___s_d_8cpp" startline="383" endline="384">SPI_setspeed</referencedby>
</memberdef>
<memberdef kind="variable" id="classbsp___s_d_1ad7788d2e62152a2fb1a6b307fa902180" prot="private" static="no" mutable="no">
<type>GPIO_TypeDef *</type>
<definition>GPIO_TypeDef* bsp_SD::GPIOx_CS</definition>
<argsstring></argsstring>
<name>GPIOx_CS</name>
<qualifiedname>bsp_SD::GPIOx_CS</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="181" column="13" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="181" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1a9f5ace0a335acc31271c9d131cd6d306" compoundref="bsp___s_d_8cpp" startline="447" endline="455">bsp_SD</referencedby>
<referencedby refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" compoundref="bsp___s_d_8cpp" startline="43" endline="44">SD_CS</referencedby>
</memberdef>
<memberdef kind="variable" id="classbsp___s_d_1a4525b5c0f62e39af1c9adb9a9c22239f" prot="private" static="no" mutable="no">
<type>uint16_t</type>
<definition>uint16_t bsp_SD::GPIO_Pin_CS</definition>
<argsstring></argsstring>
<name>GPIO_Pin_CS</name>
<qualifiedname>bsp_SD::GPIO_Pin_CS</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="182" column="9" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="182" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1a9f5ace0a335acc31271c9d131cd6d306" compoundref="bsp___s_d_8cpp" startline="447" endline="455">bsp_SD</referencedby>
<referencedby refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" compoundref="bsp___s_d_8cpp" startline="43" endline="44">SD_CS</referencedby>
</memberdef>
<memberdef kind="variable" id="classbsp___s_d_1a6c68fa82294f18968a92719931cff5fa" prot="private" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 bsp_SD::DFF</definition>
<argsstring></argsstring>
<name>DFF</name>
<qualifiedname>bsp_SD::DFF</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="184" column="3" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="184" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1a9f5ace0a335acc31271c9d131cd6d306" compoundref="bsp___s_d_8cpp" startline="447" endline="455">bsp_SD</referencedby>
<referencedby refid="classbsp___s_d_1a1e0a3f09367627bcafc8efaaeb90b066" compoundref="bsp___s_d_8cpp" startline="74" endline="119">SD_init</referencedby>
<referencedby refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" compoundref="bsp___s_d_8cpp" startline="53" endline="68">SD_sendcmd</referencedby>
</memberdef>
<memberdef kind="variable" id="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" prot="private" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 bsp_SD::SD_TYPE</definition>
<argsstring></argsstring>
<name>SD_TYPE</name>
<qualifiedname>bsp_SD::SD_TYPE</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="185" column="3" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="185" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1a9f5ace0a335acc31271c9d131cd6d306" compoundref="bsp___s_d_8cpp" startline="447" endline="455">bsp_SD</referencedby>
<referencedby refid="classbsp___s_d_1a1e0a3f09367627bcafc8efaaeb90b066" compoundref="bsp___s_d_8cpp" startline="74" endline="119">SD_init</referencedby>
<referencedby refid="classbsp___s_d_1a96f32b50ec777acc0dd819150cd28937" compoundref="bsp___s_d_8cpp" startline="356" endline="371">SD_ReadDisk</referencedby>
<referencedby refid="classbsp___s_d_1af203b65e00206d38ef14640f7b7242b6" compoundref="bsp___s_d_8cpp" startline="329" endline="347">SD_WriteDisk</referencedby>
</memberdef>
<memberdef kind="variable" id="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" prot="private" static="no" mutable="no">
<type><ref refid="struct_m_s_d___c_a_r_d_i_n_f_o" kindref="compound">MSD_CARDINFO</ref></type>
<definition>MSD_CARDINFO bsp_SD::SD0_CardInfo</definition>
<argsstring></argsstring>
<name>SD0_CardInfo</name>
<qualifiedname>bsp_SD::SD0_CardInfo</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="186" column="13" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="186" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">MSD0_GetCardInfo</referencedby>
</memberdef>
</sectiondef>
<sectiondef kind="public-func">
<memberdef kind="function" id="classbsp___s_d_1a9f5ace0a335acc31271c9d131cd6d306" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type></type>
<definition>bsp_SD::bsp_SD</definition>
<argsstring>(SPI_HandleTypeDef *hspi, GPIO_TypeDef *GPIOx_CS, uint16_t GPIO_Pin_CS)</argsstring>
<name>bsp_SD</name>
<qualifiedname>bsp_SD::bsp_SD</qualifiedname>
<param>
<type>SPI_HandleTypeDef *</type>
<declname>hspi</declname>
</param>
<param>
<type>GPIO_TypeDef *</type>
<declname>GPIOx_CS</declname>
</param>
<param>
<type>uint16_t</type>
<declname>GPIO_Pin_CS</declname>
</param>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="171" column="1" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp" bodystart="447" bodyend="455"/>
<references refid="classbsp___s_d_1a6c68fa82294f18968a92719931cff5fa" compoundref="bsp___s_d_8h" startline="184">DFF</references>
<references refid="classbsp___s_d_1a4525b5c0f62e39af1c9adb9a9c22239f" compoundref="bsp___s_d_8h" startline="182">GPIO_Pin_CS</references>
<references refid="classbsp___s_d_1ad7788d2e62152a2fb1a6b307fa902180" compoundref="bsp___s_d_8h" startline="181">GPIOx_CS</references>
<references refid="classbsp___s_d_1a227c7eb7a28e89d6adfda085a4217992" compoundref="bsp___s_d_8h" startline="180">hspi</references>
<references refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" compoundref="bsp___s_d_8h" startline="185">SD_TYPE</references>
</memberdef>
<memberdef kind="function" id="classbsp___s_d_1a1e0a3f09367627bcafc8efaaeb90b066" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 bsp_SD::SD_init</definition>
<argsstring>(void)</argsstring>
<name>SD_init</name>
<qualifiedname>bsp_SD::SD_init</qualifiedname>
<param>
<type>void</type>
</param>
<briefdescription>
<para>初始化SD卡 </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="return"><para>返回值:0,ok;其他,失败. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="173" column="3" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp" bodystart="74" bodyend="119"/>
<references refid="bsp___s_d_8h_1a938c1466755f12fb04ac0d1b775584d1" compoundref="bsp___s_d_8h" startline="57">CMD0</references>
<references refid="bsp___s_d_8h_1aca9979f299fa78c1128d778084478673" compoundref="bsp___s_d_8h" startline="58">CMD1</references>
<references refid="bsp___s_d_8h_1aaeab261b94f2031ba41a1d4d857c3541" compoundref="bsp___s_d_8h" startline="63">CMD16</references>
<references refid="bsp___s_d_8h_1a3ca1450d0ac55d2705aab03537bf2865" compoundref="bsp___s_d_8h" startline="69">CMD41</references>
<references refid="bsp___s_d_8h_1a78289a7a85ffcfddd626694105dc0780" compoundref="bsp___s_d_8h" startline="70">CMD55</references>
<references refid="bsp___s_d_8h_1aa7a26b2cf17e1ff5967820a1fa41a7aa" compoundref="bsp___s_d_8h" startline="71">CMD58</references>
<references refid="bsp___s_d_8h_1ac75b3e0ad1fb013ea946fb49bbe65668" compoundref="bsp___s_d_8h" startline="59">CMD8</references>
<references refid="classbsp___s_d_1a6c68fa82294f18968a92719931cff5fa" compoundref="bsp___s_d_8h" startline="184">DFF</references>
<references refid="bsp___s_d_8h_1a735563036dced0b7d6cc98f97ea4978b" compoundref="bsp___s_d_8h" startline="48">ERR</references>
<references refid="bsp___s_d_8h_1ab5a7d5477e55758bde614bda3250a93c" compoundref="bsp___s_d_8h" startline="49">MMC</references>
<references refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" compoundref="bsp___s_d_8cpp" startline="43" endline="44">SD_CS</references>
<references refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" compoundref="bsp___s_d_8cpp" startline="53" endline="68">SD_sendcmd</references>
<references refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" compoundref="bsp___s_d_8h" startline="185">SD_TYPE</references>
<references refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" compoundref="bsp___s_d_8cpp" startline="373" endline="376">spi_readwrite</references>
<references refid="classbsp___s_d_1a5ed95b95b141ee21d83ca70c1b06a31a" compoundref="bsp___s_d_8cpp" startline="383" endline="384">SPI_setspeed</references>
<references refid="bsp___s_d_8h_1ae21a9518b4dd62d2baeab430c89a657a" compoundref="bsp___s_d_8h" startline="50">V1</references>
<references refid="bsp___s_d_8h_1a9173468f90b474471bfff59f8487cbc1" compoundref="bsp___s_d_8h" startline="51">V2</references>
<references refid="bsp___s_d_8h_1ae52e14c1b95e5162f4fe492d9b1b0fec" compoundref="bsp___s_d_8h" startline="52">V2HC</references>
</memberdef>
<memberdef kind="function" id="classbsp___s_d_1a96f32b50ec777acc0dd819150cd28937" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 bsp_SD::SD_ReadDisk</definition>
<argsstring>(u8 *buf, u32 sector, u8 cnt)</argsstring>
<name>SD_ReadDisk</name>
<qualifiedname>bsp_SD::SD_ReadDisk</qualifiedname>
<param>
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref> *</type>
<declname>buf</declname>
</param>
<param>
<type><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref></type>
<declname>sector</declname>
</param>
<param>
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<declname>cnt</declname>
</param>
<briefdescription>
<para>读SD卡 </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>*buf</parametername>
</parameternamelist>
<parameterdescription>
<para>数据缓存区 </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>sector</parametername>
</parameternamelist>
<parameterdescription>
<para>起始扇区 </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cnt</parametername>
</parameternamelist>
<parameterdescription>
<para>扇区数 </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>返回值:0,ok;其他,失败. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="174" column="3" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp" bodystart="356" bodyend="371"/>
<references refid="bsp___s_d_8h_1a8d6283c9b060afbaa0e6d1ff7e5ea7b8" compoundref="bsp___s_d_8h" startline="62">CMD12</references>
<references refid="bsp___s_d_8h_1a6bbfe7dc16a19b7f40efcf554b5666ad" compoundref="bsp___s_d_8h" startline="64">CMD17</references>
<references refid="bsp___s_d_8h_1a3d32c27a6be061b865ba539127278f14" compoundref="bsp___s_d_8h" startline="65">CMD18</references>
<references refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" compoundref="bsp___s_d_8cpp" startline="43" endline="44">SD_CS</references>
<references refid="classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe" compoundref="bsp___s_d_8cpp" startline="127" endline="139">SD_ReceiveData</references>
<references refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" compoundref="bsp___s_d_8cpp" startline="53" endline="68">SD_sendcmd</references>
<references refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" compoundref="bsp___s_d_8h" startline="185">SD_TYPE</references>
<references refid="bsp___s_d_8h_1ae52e14c1b95e5162f4fe492d9b1b0fec" compoundref="bsp___s_d_8h" startline="52">V2HC</references>
<referencedby refid="classbsp___s_d_1a1c78e6f5a72f3bdec600a52331dd4d20" compoundref="bsp___s_d_8cpp" startline="423" endline="442">offsetRead</referencedby>
<referencedby refid="classbsp___s_d_1a164f0bb03133464f2da485f362a52718" compoundref="bsp___s_d_8cpp" startline="393" endline="414">offsetWrite</referencedby>
</memberdef>
<memberdef kind="function" id="classbsp___s_d_1af203b65e00206d38ef14640f7b7242b6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 bsp_SD::SD_WriteDisk</definition>
<argsstring>(u8 *buf, u32 sector, u8 cnt)</argsstring>
<name>SD_WriteDisk</name>
<qualifiedname>bsp_SD::SD_WriteDisk</qualifiedname>
<param>
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref> *</type>
<declname>buf</declname>
</param>
<param>
<type><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref></type>
<declname>sector</declname>
</param>
<param>
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<declname>cnt</declname>
</param>
<briefdescription>
<para>写SD卡 </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>*buf</parametername>
</parameternamelist>
<parameterdescription>
<para>数据缓存区 </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>sector</parametername>
</parameternamelist>
<parameterdescription>
<para>起始扇区 </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cnt</parametername>
</parameternamelist>
<parameterdescription>
<para>扇区数 </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>返回值:0,ok;其他,失败. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="175" column="3" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp" bodystart="329" bodyend="347"/>
<references refid="bsp___s_d_8h_1a14506e981f38b6177bc36f72c2ca18b1" compoundref="bsp___s_d_8h" startline="66">CMD23</references>
<references refid="bsp___s_d_8h_1a252300302c6f7960df547a7f5c25be85" compoundref="bsp___s_d_8h" startline="67">CMD24</references>
<references refid="bsp___s_d_8h_1aee2c673fba987178f4642531fdeefe9e" compoundref="bsp___s_d_8h" startline="68">CMD25</references>
<references refid="bsp___s_d_8h_1a78289a7a85ffcfddd626694105dc0780" compoundref="bsp___s_d_8h" startline="70">CMD55</references>
<references refid="bsp___s_d_8h_1ab5a7d5477e55758bde614bda3250a93c" compoundref="bsp___s_d_8h" startline="49">MMC</references>
<references refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" compoundref="bsp___s_d_8cpp" startline="43" endline="44">SD_CS</references>
<references refid="classbsp___s_d_1a2df843979bb4c764422a37b255c184ea" compoundref="bsp___s_d_8cpp" startline="147" endline="158">SD_SendBlock</references>
<references refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" compoundref="bsp___s_d_8cpp" startline="53" endline="68">SD_sendcmd</references>
<references refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" compoundref="bsp___s_d_8h" startline="185">SD_TYPE</references>
<references refid="bsp___s_d_8h_1ae52e14c1b95e5162f4fe492d9b1b0fec" compoundref="bsp___s_d_8h" startline="52">V2HC</references>
<referencedby refid="classbsp___s_d_1a164f0bb03133464f2da485f362a52718" compoundref="bsp___s_d_8cpp" startline="393" endline="414">offsetWrite</referencedby>
</memberdef>
<memberdef kind="function" id="classbsp___s_d_1a600cc886dc5da6d34f75d0bf226c1b92" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref></type>
<definition>u32 bsp_SD::SD_GetSectorCount</definition>
<argsstring>(void)</argsstring>
<name>SD_GetSectorCount</name>
<qualifiedname>bsp_SD::SD_GetSectorCount</qualifiedname>
<param>
<type>void</type>
</param>
<briefdescription>
<para>获取SD卡的总扇区数 </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="return"><para>总扇区数 </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="176" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp" bodystart="188" bodyend="205"/>
<references refid="classbsp___s_d_1ad0426f6a4b550e60a926c95724d81665" compoundref="bsp___s_d_8cpp" startline="176" endline="182">SD_GETCSD</references>
</memberdef>
<memberdef kind="function" id="classbsp___s_d_1a164f0bb03133464f2da485f362a52718" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 bsp_SD::offsetWrite</definition>
<argsstring>(u64 offset, u8 *dat, u64 datlen)</argsstring>
<name>offsetWrite</name>
<qualifiedname>bsp_SD::offsetWrite</qualifiedname>
<param>
<type><ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref></type>
<declname>offset</declname>
</param>
<param>
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref> *</type>
<declname>dat</declname>
</param>
<param>
<type><ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref></type>
<declname>datlen</declname>
</param>
<briefdescription>
<para>写入连贯的数据 </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>offset</parametername>
</parameternamelist>
<parameterdescription>
<para>写入位置 </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>*dat</parametername>
</parameternamelist>
<parameterdescription>
<para>数据缓冲区 </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>datlen</parametername>
</parameternamelist>
<parameterdescription>
<para>写入长度 </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>返回值:0,ok;其他,失败. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="177" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp" bodystart="393" bodyend="414"/>
<references refid="classbsp___s_d_1a96f32b50ec777acc0dd819150cd28937" compoundref="bsp___s_d_8cpp" startline="356" endline="371">SD_ReadDisk</references>
<references refid="classbsp___s_d_1af203b65e00206d38ef14640f7b7242b6" compoundref="bsp___s_d_8cpp" startline="329" endline="347">SD_WriteDisk</references>
</memberdef>
<memberdef kind="function" id="classbsp___s_d_1a1c78e6f5a72f3bdec600a52331dd4d20" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 bsp_SD::offsetRead</definition>
<argsstring>(u64 offset, u8 *dat, u64 datlen)</argsstring>
<name>offsetRead</name>
<qualifiedname>bsp_SD::offsetRead</qualifiedname>
<param>
<type><ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref></type>
<declname>offset</declname>
</param>
<param>
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref> *</type>
<declname>dat</declname>
</param>
<param>
<type><ref refid="varint_8h_1a3f7e2bcbb0b4c338f3c4f6c937cd4234" kindref="member">u64</ref></type>
<declname>datlen</declname>
</param>
<briefdescription>
<para>读取连贯的数据 </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>offset</parametername>
</parameternamelist>
<parameterdescription>
<para>读取位置 </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>*dat</parametername>
</parameternamelist>
<parameterdescription>
<para>数据缓冲区 </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>datlen</parametername>
</parameternamelist>
<parameterdescription>
<para>读取长度 </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>返回值:0,ok;其他,失败. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="178" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp" bodystart="423" bodyend="442"/>
<references refid="classbsp___s_d_1a96f32b50ec777acc0dd819150cd28937" compoundref="bsp___s_d_8cpp" startline="356" endline="371">SD_ReadDisk</references>
</memberdef>
</sectiondef>
<sectiondef kind="private-func">
<memberdef kind="function" id="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type>void</type>
<definition>void bsp_SD::SD_CS</definition>
<argsstring>(u8 p)</argsstring>
<name>SD_CS</name>
<qualifiedname>bsp_SD::SD_CS</qualifiedname>
<param>
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<declname>p</declname>
</param>
<briefdescription>
<para>片选信号 </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="return"><para></para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="188" column="5" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp" bodystart="43" bodyend="44"/>
<references refid="classbsp___s_d_1a4525b5c0f62e39af1c9adb9a9c22239f" compoundref="bsp___s_d_8h" startline="182">GPIO_Pin_CS</references>
<references refid="classbsp___s_d_1ad7788d2e62152a2fb1a6b307fa902180" compoundref="bsp___s_d_8h" startline="181">GPIOx_CS</references>
<referencedby refid="classbsp___s_d_1a25bc03ff69d0c3c9a73153c71c84a8b0" compoundref="bsp___s_d_8cpp" startline="164" endline="170">SD_GETCID</referencedby>
<referencedby refid="classbsp___s_d_1ad0426f6a4b550e60a926c95724d81665" compoundref="bsp___s_d_8cpp" startline="176" endline="182">SD_GETCSD</referencedby>
<referencedby refid="classbsp___s_d_1a1e0a3f09367627bcafc8efaaeb90b066" compoundref="bsp___s_d_8cpp" startline="74" endline="119">SD_init</referencedby>
<referencedby refid="classbsp___s_d_1a96f32b50ec777acc0dd819150cd28937" compoundref="bsp___s_d_8cpp" startline="356" endline="371">SD_ReadDisk</referencedby>
<referencedby refid="classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe" compoundref="bsp___s_d_8cpp" startline="127" endline="139">SD_ReceiveData</referencedby>
<referencedby refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" compoundref="bsp___s_d_8cpp" startline="53" endline="68">SD_sendcmd</referencedby>
<referencedby refid="classbsp___s_d_1af203b65e00206d38ef14640f7b7242b6" compoundref="bsp___s_d_8cpp" startline="329" endline="347">SD_WriteDisk</referencedby>
</memberdef>
<memberdef kind="function" id="classbsp___s_d_1a25bc03ff69d0c3c9a73153c71c84a8b0" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 bsp_SD::SD_GETCID</definition>
<argsstring>(u8 *cid_data)</argsstring>
<name>SD_GETCID</name>
<qualifiedname>bsp_SD::SD_GETCID</qualifiedname>
<param>
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref> *</type>
<declname>cid_data</declname>
</param>
<briefdescription>
<para>获取CID信息 </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="return"><para>CID信息 </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="189" column="3" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp" bodystart="164" bodyend="170"/>
<references refid="bsp___s_d_8h_1ae7b800ed8e7bd52e6f570a5ce72b8104" compoundref="bsp___s_d_8h" startline="61">CMD10</references>
<references refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" compoundref="bsp___s_d_8cpp" startline="43" endline="44">SD_CS</references>
<references refid="classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe" compoundref="bsp___s_d_8cpp" startline="127" endline="139">SD_ReceiveData</references>
<references refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" compoundref="bsp___s_d_8cpp" startline="53" endline="68">SD_sendcmd</references>
</memberdef>
<memberdef kind="function" id="classbsp___s_d_1ad0426f6a4b550e60a926c95724d81665" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 bsp_SD::SD_GETCSD</definition>
<argsstring>(u8 *csd_data)</argsstring>
<name>SD_GETCSD</name>
<qualifiedname>bsp_SD::SD_GETCSD</qualifiedname>
<param>
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref> *</type>
<declname>csd_data</declname>
</param>
<briefdescription>
<para>获取CSD信息 </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="return"><para>CSD信息 </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="190" column="3" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp" bodystart="176" bodyend="182"/>
<references refid="bsp___s_d_8h_1a1fac6a251d7e7dc204d21639bf521459" compoundref="bsp___s_d_8h" startline="60">CMD9</references>
<references refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" compoundref="bsp___s_d_8cpp" startline="43" endline="44">SD_CS</references>
<references refid="classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe" compoundref="bsp___s_d_8cpp" startline="127" endline="139">SD_ReceiveData</references>
<references refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" compoundref="bsp___s_d_8cpp" startline="53" endline="68">SD_sendcmd</references>
<referencedby refid="classbsp___s_d_1a600cc886dc5da6d34f75d0bf226c1b92" compoundref="bsp___s_d_8cpp" startline="188" endline="205">SD_GetSectorCount</referencedby>
</memberdef>
<memberdef kind="function" id="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type>int</type>
<definition>int bsp_SD::MSD0_GetCardInfo</definition>
<argsstring>(PMSD_CARDINFO SD0_CardInfo)</argsstring>
<name>MSD0_GetCardInfo</name>
<qualifiedname>bsp_SD::MSD0_GetCardInfo</qualifiedname>
<param>
<type><ref refid="bsp___s_d_8h_1a64c818be5c771b5bcfd5cbd998c0f9c6" kindref="member">PMSD_CARDINFO</ref></type>
<declname>SD0_CardInfo</declname>
</param>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="191" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp" bodystart="207" bodyend="320"/>
<references refid="struct_m_s_d___c_a_r_d_i_n_f_o_1aadaf986217b3c403be1cc4a2fd2fd148" compoundref="bsp___s_d_8h" startline="153">MSD_CARDINFO::BlockSize</references>
<references refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a4e5da8ba91229ac3ccb2d3f11f1ab4bf" compoundref="bsp___s_d_8h" startline="152">MSD_CARDINFO::Capacity</references>
<references refid="struct_m_s_d___c_s_d_1a235ebfcf7116a28eb8f7e2348b46c279" compoundref="bsp___s_d_8h" startline="102">MSD_CSD::CardComdClasses</references>
<references refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a8f29efd96df6abb8cd6353787eebca04" compoundref="bsp___s_d_8h" startline="155">MSD_CARDINFO::CardType</references>
<references refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" compoundref="bsp___s_d_8h" startline="151">MSD_CARDINFO::CID</references>
<references refid="struct_m_s_d___c_i_d_1a61fe89c386eb7bf7b8e2ba44545168de" compoundref="bsp___s_d_8h" startline="145">MSD_CID::CID_CRC</references>
<references refid="bsp___s_d_8h_1ae7b800ed8e7bd52e6f570a5ce72b8104" compoundref="bsp___s_d_8h" startline="61">CMD10</references>
<references refid="bsp___s_d_8h_1a1fac6a251d7e7dc204d21639bf521459" compoundref="bsp___s_d_8h" startline="60">CMD9</references>
<references refid="struct_m_s_d___c_s_d_1aaadb152d2dce1323e589580ef0099fec" compoundref="bsp___s_d_8h" startline="124">MSD_CSD::ContentProtectAppli</references>
<references refid="struct_m_s_d___c_s_d_1a17f58dd1f98e6e6376efe142f352cb59" compoundref="bsp___s_d_8h" startline="126">MSD_CSD::CopyFlag</references>
<references refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" compoundref="bsp___s_d_8h" startline="150">MSD_CARDINFO::CSD</references>
<references refid="struct_m_s_d___c_s_d_1a81e9f99cdd87dd2e0305b3b191aa5226" compoundref="bsp___s_d_8h" startline="131">MSD_CSD::CSD_CRC</references>
<references refid="struct_m_s_d___c_s_d_1a53c6d82426462a5f31a0e07bc2014d97" compoundref="bsp___s_d_8h" startline="96">MSD_CSD::CSDStruct</references>
<references refid="struct_m_s_d___c_s_d_1ab2341b019f101f621817ab7f13f85321" compoundref="bsp___s_d_8h" startline="109">MSD_CSD::DeviceSize</references>
<references refid="struct_m_s_d___c_s_d_1a021add43b09781e1c4feb5a911bab718" compoundref="bsp___s_d_8h" startline="114">MSD_CSD::DeviceSizeMul</references>
<references refid="struct_m_s_d___c_s_d_1a6010a523c29470b3fca2a179608bb165" compoundref="bsp___s_d_8h" startline="107">MSD_CSD::DSRImpl</references>
<references refid="struct_m_s_d___c_s_d_1a1e153d660ffe4bbafa596d4b0b8c2906" compoundref="bsp___s_d_8h" startline="130">MSD_CSD::ECC</references>
<references refid="struct_m_s_d___c_s_d_1a6d4b83a1a42edb0e08f674fa6e611d28" compoundref="bsp___s_d_8h" startline="116">MSD_CSD::EraseGrMul</references>
<references refid="struct_m_s_d___c_s_d_1a3217bd2b49b77943bcb3e5a6f5f0e419" compoundref="bsp___s_d_8h" startline="115">MSD_CSD::EraseGrSize</references>
<references refid="struct_m_s_d___c_s_d_1ac3510e157155d4b9d9f67591b1cb0c8e" compoundref="bsp___s_d_8h" startline="129">MSD_CSD::FileFormat</references>
<references refid="struct_m_s_d___c_s_d_1a08f8247c46de7ef2b0677886470d7792" compoundref="bsp___s_d_8h" startline="125">MSD_CSD::FileFormatGrouop</references>
<references refid="struct_m_s_d___c_s_d_1a1ee9e5144b15487f92f6d9ce59835428" compoundref="bsp___s_d_8h" startline="119">MSD_CSD::ManDeflECC</references>
<references refid="struct_m_s_d___c_i_d_1a55015d75002e50ff4f23cd19c9b5c90a" compoundref="bsp___s_d_8h" startline="144">MSD_CID::ManufactDate</references>
<references refid="struct_m_s_d___c_i_d_1a5ae9ad5d65182a34e20b87fa2752010e" compoundref="bsp___s_d_8h" startline="137">MSD_CID::ManufacturerID</references>
<references refid="struct_m_s_d___c_s_d_1ae4fe7f59ec2c0fec2d5c5edc912de487" compoundref="bsp___s_d_8h" startline="101">MSD_CSD::MaxBusClkFrec</references>
<references refid="struct_m_s_d___c_s_d_1a81dee06837a4a641a428af5271ce7881" compoundref="bsp___s_d_8h" startline="111">MSD_CSD::MaxRdCurrentVDDMax</references>
<references refid="struct_m_s_d___c_s_d_1a5f028ae76ae390e7efc7581863f86fa4" compoundref="bsp___s_d_8h" startline="110">MSD_CSD::MaxRdCurrentVDDMin</references>
<references refid="struct_m_s_d___c_s_d_1a0dcba500cb60f6ce8d95864ae2eaa307" compoundref="bsp___s_d_8h" startline="121">MSD_CSD::MaxWrBlockLen</references>
<references refid="struct_m_s_d___c_s_d_1a5a4157c022770f5f2a22da59f1287ec1" compoundref="bsp___s_d_8h" startline="113">MSD_CSD::MaxWrCurrentVDDMax</references>
<references refid="struct_m_s_d___c_s_d_1a4312d08d19360f8cda0fdcefea8c58a8" compoundref="bsp___s_d_8h" startline="112">MSD_CSD::MaxWrCurrentVDDMin</references>
<references refid="bsp___s_d_8h_1a5bda0c70032a9b8625ae5a3c55d21c38" compoundref="bsp___s_d_8h" startline="54">MSD_BLOCKSIZE</references>
<references refid="struct_m_s_d___c_s_d_1ae9fdc21394cb38fc96de03821b5b1f5b" compoundref="bsp___s_d_8h" startline="100">MSD_CSD::NSAC</references>
<references refid="struct_m_s_d___c_i_d_1acd04644e46f7ceca82bbe9bdc80f1d53" compoundref="bsp___s_d_8h" startline="138">MSD_CID::OEM_AppliID</references>
<references refid="struct_m_s_d___c_s_d_1a7e302d0f797f25a53205bf683fcb9315" compoundref="bsp___s_d_8h" startline="104">MSD_CSD::PartBlockRead</references>
<references refid="struct_m_s_d___c_s_d_1a150bf25ff42008d58320a6b7e531c9ab" compoundref="bsp___s_d_8h" startline="127">MSD_CSD::PermWrProtect</references>
<references refid="struct_m_s_d___c_i_d_1ab7e359a09fecf1fa2d1b18e708dcc292" compoundref="bsp___s_d_8h" startline="139">MSD_CID::ProdName1</references>
<references refid="struct_m_s_d___c_i_d_1ad0d7606f38a0140075647fb3f66614ea" compoundref="bsp___s_d_8h" startline="140">MSD_CID::ProdName2</references>
<references refid="struct_m_s_d___c_i_d_1acd9fbacd30fdff0eef7d885ad4ec438b" compoundref="bsp___s_d_8h" startline="141">MSD_CID::ProdRev</references>
<references refid="struct_m_s_d___c_i_d_1a0c5c88d258f73f17a496f3b92d9cfd5c" compoundref="bsp___s_d_8h" startline="142">MSD_CID::ProdSN</references>
<references refid="struct_m_s_d___c_s_d_1a0d503ea30e3553e3dbf1d259c1835bca" compoundref="bsp___s_d_8h" startline="103">MSD_CSD::RdBlockLen</references>
<references refid="struct_m_s_d___c_s_d_1ad4c2ce16da22ad02424466d1b42d04b0" compoundref="bsp___s_d_8h" startline="106">MSD_CSD::RdBlockMisalign</references>
<references refid="struct_m_s_d___c_s_d_1a43d9f48b7a10b9b16700cc4df7f944c0" compoundref="bsp___s_d_8h" startline="98">MSD_CSD::Reserved1</references>
<references refid="struct_m_s_d___c_i_d_1a1be2e4d82c95f2d158ce5f5157a7fd5b" compoundref="bsp___s_d_8h" startline="143">MSD_CID::Reserved1</references>
<references refid="struct_m_s_d___c_s_d_1af46b7c72145239d75dcf08e97a8015cb" compoundref="bsp___s_d_8h" startline="108">MSD_CSD::Reserved2</references>
<references refid="struct_m_s_d___c_i_d_1aac8e73e305ea1ff29ae195a6c0a63e05" compoundref="bsp___s_d_8h" startline="146">MSD_CID::Reserved2</references>
<references refid="struct_m_s_d___c_s_d_1a83b44a54e8cefcfffdfb5a744d0bf3d5" compoundref="bsp___s_d_8h" startline="123">MSD_CSD::Reserved3</references>
<references refid="struct_m_s_d___c_s_d_1a36b124f6ffc0716dc0dc93c407b975d1" compoundref="bsp___s_d_8h" startline="132">MSD_CSD::Reserved4</references>
<references refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" compoundref="bsp___s_d_8h" startline="186">SD0_CardInfo</references>
<references refid="classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe" compoundref="bsp___s_d_8cpp" startline="127" endline="139">SD_ReceiveData</references>
<references refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" compoundref="bsp___s_d_8cpp" startline="53" endline="68">SD_sendcmd</references>
<references refid="struct_m_s_d___c_s_d_1a8709246fbcaa2984e8752e5d028a25e1" compoundref="bsp___s_d_8h" startline="97">MSD_CSD::SysSpecVersion</references>
<references refid="struct_m_s_d___c_s_d_1ac80ef2c5f8eedf6e361b9d48da66d98d" compoundref="bsp___s_d_8h" startline="99">MSD_CSD::TAAC</references>
<references refid="struct_m_s_d___c_s_d_1a3f2c48bb307e7779173e3563bbd5038f" compoundref="bsp___s_d_8h" startline="128">MSD_CSD::TempWrProtect</references>
<references refid="bsp___s_d_8h_1ae52e14c1b95e5162f4fe492d9b1b0fec" compoundref="bsp___s_d_8h" startline="52">V2HC</references>
<references refid="struct_m_s_d___c_s_d_1aaf61be1914d24eeef107b78d57f96f66" compoundref="bsp___s_d_8h" startline="105">MSD_CSD::WrBlockMisalign</references>
<references refid="struct_m_s_d___c_s_d_1a3c32bff0de0b6cba1f9bd3205159e6e4" compoundref="bsp___s_d_8h" startline="122">MSD_CSD::WriteBlockPaPartial</references>
<references refid="struct_m_s_d___c_s_d_1a0d11fc6f8c1e51d1b63887603eee8915" compoundref="bsp___s_d_8h" startline="118">MSD_CSD::WrProtectGrEnable</references>
<references refid="struct_m_s_d___c_s_d_1aa21f77c612167167e40003b6d3784689" compoundref="bsp___s_d_8h" startline="117">MSD_CSD::WrProtectGrSize</references>
<references refid="struct_m_s_d___c_s_d_1a3ededd192a17234569a584cbd72b12ae" compoundref="bsp___s_d_8h" startline="120">MSD_CSD::WrSpeedFact</references>
</memberdef>
<memberdef kind="function" id="classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 bsp_SD::SD_ReceiveData</definition>
<argsstring>(u8 *data, u16 len)</argsstring>
<name>SD_ReceiveData</name>
<qualifiedname>bsp_SD::SD_ReceiveData</qualifiedname>
<param>
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref> *</type>
<declname>data</declname>
</param>
<param>
<type><ref refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kindref="member">u16</ref></type>
<declname>len</declname>
</param>
<briefdescription>
<para>读取SD卡指定长度信息 </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>*data</parametername>
</parameternamelist>
<parameterdescription>
<para>数据缓存区 </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>len</parametername>
</parameternamelist>
<parameterdescription>
<para>长度 </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>返回值:0,ok;其他,失败. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="192" column="3" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp" bodystart="127" bodyend="139"/>
<references refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" compoundref="bsp___s_d_8cpp" startline="43" endline="44">SD_CS</references>
<references refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" compoundref="bsp___s_d_8cpp" startline="373" endline="376">spi_readwrite</references>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">MSD0_GetCardInfo</referencedby>
<referencedby refid="classbsp___s_d_1a25bc03ff69d0c3c9a73153c71c84a8b0" compoundref="bsp___s_d_8cpp" startline="164" endline="170">SD_GETCID</referencedby>
<referencedby refid="classbsp___s_d_1ad0426f6a4b550e60a926c95724d81665" compoundref="bsp___s_d_8cpp" startline="176" endline="182">SD_GETCSD</referencedby>
<referencedby refid="classbsp___s_d_1a96f32b50ec777acc0dd819150cd28937" compoundref="bsp___s_d_8cpp" startline="356" endline="371">SD_ReadDisk</referencedby>
</memberdef>
<memberdef kind="function" id="classbsp___s_d_1a2df843979bb4c764422a37b255c184ea" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 bsp_SD::SD_SendBlock</definition>
<argsstring>(u8 *buf, u8 cmd)</argsstring>
<name>SD_SendBlock</name>
<qualifiedname>bsp_SD::SD_SendBlock</qualifiedname>
<param>
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref> *</type>
<declname>buf</declname>
</param>
<param>
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<declname>cmd</declname>
</param>
<briefdescription>
<para>向SD卡写入一个扇区 </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>*buf</parametername>
</parameternamelist>
<parameterdescription>
<para>数据缓存区 </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cmd</parametername>
</parameternamelist>
<parameterdescription>
<para>操作指令 </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>返回值:0,ok;其他,失败. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="193" column="3" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp" bodystart="147" bodyend="158"/>
<references refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" compoundref="bsp___s_d_8cpp" startline="373" endline="376">spi_readwrite</references>
<referencedby refid="classbsp___s_d_1af203b65e00206d38ef14640f7b7242b6" compoundref="bsp___s_d_8cpp" startline="329" endline="347">SD_WriteDisk</referencedby>
</memberdef>
<memberdef kind="function" id="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref></type>
<definition>u32 bsp_SD::SD_sendcmd</definition>
<argsstring>(u8 cmd, u32 arg, u8 crc)</argsstring>
<name>SD_sendcmd</name>
<qualifiedname>bsp_SD::SD_sendcmd</qualifiedname>
<param>
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<declname>cmd</declname>
</param>
<param>
<type><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref></type>
<declname>arg</declname>
</param>
<param>
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<declname>crc</declname>
</param>
<briefdescription>
<para>写SD卡 </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cmd</parametername>
</parameternamelist>
<parameterdescription>
<para>命令 </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>arg</parametername>
</parameternamelist>
<parameterdescription>
<para><linebreak/>
</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>crc</parametername>
</parameternamelist>
<parameterdescription>
<para>校验码 </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><linebreak/>
</para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="194" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp" bodystart="53" bodyend="68"/>
<references refid="bsp___s_d_8h_1a8d6283c9b060afbaa0e6d1ff7e5ea7b8" compoundref="bsp___s_d_8h" startline="62">CMD12</references>
<references refid="classbsp___s_d_1a6c68fa82294f18968a92719931cff5fa" compoundref="bsp___s_d_8h" startline="184">DFF</references>
<references refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" compoundref="bsp___s_d_8cpp" startline="43" endline="44">SD_CS</references>
<references refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" compoundref="bsp___s_d_8cpp" startline="373" endline="376">spi_readwrite</references>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">MSD0_GetCardInfo</referencedby>
<referencedby refid="classbsp___s_d_1a25bc03ff69d0c3c9a73153c71c84a8b0" compoundref="bsp___s_d_8cpp" startline="164" endline="170">SD_GETCID</referencedby>
<referencedby refid="classbsp___s_d_1ad0426f6a4b550e60a926c95724d81665" compoundref="bsp___s_d_8cpp" startline="176" endline="182">SD_GETCSD</referencedby>
<referencedby refid="classbsp___s_d_1a1e0a3f09367627bcafc8efaaeb90b066" compoundref="bsp___s_d_8cpp" startline="74" endline="119">SD_init</referencedby>
<referencedby refid="classbsp___s_d_1a96f32b50ec777acc0dd819150cd28937" compoundref="bsp___s_d_8cpp" startline="356" endline="371">SD_ReadDisk</referencedby>
<referencedby refid="classbsp___s_d_1af203b65e00206d38ef14640f7b7242b6" compoundref="bsp___s_d_8cpp" startline="329" endline="347">SD_WriteDisk</referencedby>
</memberdef>
<memberdef kind="function" id="classbsp___s_d_1a5ed95b95b141ee21d83ca70c1b06a31a" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type>void</type>
<definition>void bsp_SD::SPI_setspeed</definition>
<argsstring>(u8 speed)</argsstring>
<name>SPI_setspeed</name>
<qualifiedname>bsp_SD::SPI_setspeed</qualifiedname>
<param>
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<declname>speed</declname>
</param>
<briefdescription>
<para>设置SPI的速率 </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>speed</parametername>
</parameternamelist>
<parameterdescription>
<para>速率 </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para></para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="196" column="5" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp" bodystart="383" bodyend="384"/>
<references refid="classbsp___s_d_1a227c7eb7a28e89d6adfda085a4217992" compoundref="bsp___s_d_8h" startline="180">hspi</references>
<referencedby refid="classbsp___s_d_1a1e0a3f09367627bcafc8efaaeb90b066" compoundref="bsp___s_d_8cpp" startline="74" endline="119">SD_init</referencedby>
</memberdef>
<memberdef kind="function" id="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 bsp_SD::spi_readwrite</definition>
<argsstring>(u8 Txdata)</argsstring>
<name>spi_readwrite</name>
<qualifiedname>bsp_SD::spi_readwrite</qualifiedname>
<param>
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<declname>Txdata</declname>
</param>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="197" column="3" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp" bodystart="373" bodyend="376"/>
<references refid="classbsp___s_d_1a227c7eb7a28e89d6adfda085a4217992" compoundref="bsp___s_d_8h" startline="180">hspi</references>
<referencedby refid="classbsp___s_d_1a1e0a3f09367627bcafc8efaaeb90b066" compoundref="bsp___s_d_8cpp" startline="74" endline="119">SD_init</referencedby>
<referencedby refid="classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe" compoundref="bsp___s_d_8cpp" startline="127" endline="139">SD_ReceiveData</referencedby>
<referencedby refid="classbsp___s_d_1a2df843979bb4c764422a37b255c184ea" compoundref="bsp___s_d_8cpp" startline="147" endline="158">SD_SendBlock</referencedby>
<referencedby refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" compoundref="bsp___s_d_8cpp" startline="53" endline="68">SD_sendcmd</referencedby>
</memberdef>
</sectiondef>
<briefdescription>
<para>一个操作SD卡的类 </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<collaborationgraph>
<node id="2">
<label>MSD_CARDINFO</label>
<link refid="struct_m_s_d___c_a_r_d_i_n_f_o"/>
<childnode refid="3" relation="usage">
<edgelabel>CSD</edgelabel>
</childnode>
<childnode refid="4" relation="usage">
<edgelabel>CID</edgelabel>
</childnode>
</node>
<node id="4">
<label>MSD_CID</label>
<link refid="struct_m_s_d___c_i_d"/>
</node>
<node id="3">
<label>MSD_CSD</label>
<link refid="struct_m_s_d___c_s_d"/>
</node>
<node id="1">
<label>bsp_SD</label>
<link refid="classbsp___s_d"/>
<childnode refid="2" relation="usage">
<edgelabel>SD0_CardInfo</edgelabel>
</childnode>
</node>
</collaborationgraph>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="169" column="1" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="169" bodyend="198"/>
<listofallmembers>
<member refid="classbsp___s_d_1a9f5ace0a335acc31271c9d131cd6d306" prot="public" virt="non-virtual"><scope>bsp_SD</scope><name>bsp_SD</name></member>
<member refid="classbsp___s_d_1a6c68fa82294f18968a92719931cff5fa" prot="private" virt="non-virtual"><scope>bsp_SD</scope><name>DFF</name></member>
<member refid="classbsp___s_d_1a4525b5c0f62e39af1c9adb9a9c22239f" prot="private" virt="non-virtual"><scope>bsp_SD</scope><name>GPIO_Pin_CS</name></member>
<member refid="classbsp___s_d_1ad7788d2e62152a2fb1a6b307fa902180" prot="private" virt="non-virtual"><scope>bsp_SD</scope><name>GPIOx_CS</name></member>
<member refid="classbsp___s_d_1a227c7eb7a28e89d6adfda085a4217992" prot="private" virt="non-virtual"><scope>bsp_SD</scope><name>hspi</name></member>
<member refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" prot="private" virt="non-virtual"><scope>bsp_SD</scope><name>MSD0_GetCardInfo</name></member>
<member refid="classbsp___s_d_1a1c78e6f5a72f3bdec600a52331dd4d20" prot="public" virt="non-virtual"><scope>bsp_SD</scope><name>offsetRead</name></member>
<member refid="classbsp___s_d_1a164f0bb03133464f2da485f362a52718" prot="public" virt="non-virtual"><scope>bsp_SD</scope><name>offsetWrite</name></member>
<member refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" prot="private" virt="non-virtual"><scope>bsp_SD</scope><name>SD0_CardInfo</name></member>
<member refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" prot="private" virt="non-virtual"><scope>bsp_SD</scope><name>SD_CS</name></member>
<member refid="classbsp___s_d_1a25bc03ff69d0c3c9a73153c71c84a8b0" prot="private" virt="non-virtual"><scope>bsp_SD</scope><name>SD_GETCID</name></member>
<member refid="classbsp___s_d_1ad0426f6a4b550e60a926c95724d81665" prot="private" virt="non-virtual"><scope>bsp_SD</scope><name>SD_GETCSD</name></member>
<member refid="classbsp___s_d_1a600cc886dc5da6d34f75d0bf226c1b92" prot="public" virt="non-virtual"><scope>bsp_SD</scope><name>SD_GetSectorCount</name></member>
<member refid="classbsp___s_d_1a1e0a3f09367627bcafc8efaaeb90b066" prot="public" virt="non-virtual"><scope>bsp_SD</scope><name>SD_init</name></member>
<member refid="classbsp___s_d_1a96f32b50ec777acc0dd819150cd28937" prot="public" virt="non-virtual"><scope>bsp_SD</scope><name>SD_ReadDisk</name></member>
<member refid="classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe" prot="private" virt="non-virtual"><scope>bsp_SD</scope><name>SD_ReceiveData</name></member>
<member refid="classbsp___s_d_1a2df843979bb4c764422a37b255c184ea" prot="private" virt="non-virtual"><scope>bsp_SD</scope><name>SD_SendBlock</name></member>
<member refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" prot="private" virt="non-virtual"><scope>bsp_SD</scope><name>SD_sendcmd</name></member>
<member refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" prot="private" virt="non-virtual"><scope>bsp_SD</scope><name>SD_TYPE</name></member>
<member refid="classbsp___s_d_1af203b65e00206d38ef14640f7b7242b6" prot="public" virt="non-virtual"><scope>bsp_SD</scope><name>SD_WriteDisk</name></member>
<member refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" prot="private" virt="non-virtual"><scope>bsp_SD</scope><name>spi_readwrite</name></member>
<member refid="classbsp___s_d_1a5ed95b95b141ee21d83ca70c1b06a31a" prot="private" virt="non-virtual"><scope>bsp_SD</scope><name>SPI_setspeed</name></member>
</listofallmembers>
</compounddef>
</doxygen>

View File

@@ -22,6 +22,8 @@
<innerfile refid="bsp___o_l_e_d___s_t_m32_8h">bsp_OLED_STM32.h</innerfile>
<innerfile refid="bsp___p_i_d_8cpp">bsp_PID.cpp</innerfile>
<innerfile refid="bsp___p_i_d_8h">bsp_PID.h</innerfile>
<innerfile refid="bsp___s_d_8cpp">bsp_SD.cpp</innerfile>
<innerfile refid="bsp___s_d_8h">bsp_SD.h</innerfile>
<innerfile refid="varint_8h">varint.h</innerfile>
<briefdescription>
</briefdescription>

View File

@@ -130,6 +130,30 @@
<member refid="classbsp___position___p_i_d_1a7b60d7f8a80c632c501561e7e0765f14" kind="function"><name>clean</name></member>
<member refid="classbsp___position___p_i_d_1add37a6f47b3f9b6dd0d945def8ed2ef1" kind="function"><name>set</name></member>
</compound>
<compound refid="classbsp___s_d" kind="class"><name>bsp_SD</name>
<member refid="classbsp___s_d_1a227c7eb7a28e89d6adfda085a4217992" kind="variable"><name>hspi</name></member>
<member refid="classbsp___s_d_1ad7788d2e62152a2fb1a6b307fa902180" kind="variable"><name>GPIOx_CS</name></member>
<member refid="classbsp___s_d_1a4525b5c0f62e39af1c9adb9a9c22239f" kind="variable"><name>GPIO_Pin_CS</name></member>
<member refid="classbsp___s_d_1a6c68fa82294f18968a92719931cff5fa" kind="variable"><name>DFF</name></member>
<member refid="classbsp___s_d_1a2350601b90ad75bd434094a9c31475c4" kind="variable"><name>SD_TYPE</name></member>
<member refid="classbsp___s_d_1aab1487286ac43dc9110e65b52c850de4" kind="variable"><name>SD0_CardInfo</name></member>
<member refid="classbsp___s_d_1a9f5ace0a335acc31271c9d131cd6d306" kind="function"><name>bsp_SD</name></member>
<member refid="classbsp___s_d_1a1e0a3f09367627bcafc8efaaeb90b066" kind="function"><name>SD_init</name></member>
<member refid="classbsp___s_d_1a96f32b50ec777acc0dd819150cd28937" kind="function"><name>SD_ReadDisk</name></member>
<member refid="classbsp___s_d_1af203b65e00206d38ef14640f7b7242b6" kind="function"><name>SD_WriteDisk</name></member>
<member refid="classbsp___s_d_1a600cc886dc5da6d34f75d0bf226c1b92" kind="function"><name>SD_GetSectorCount</name></member>
<member refid="classbsp___s_d_1a164f0bb03133464f2da485f362a52718" kind="function"><name>offsetWrite</name></member>
<member refid="classbsp___s_d_1a1c78e6f5a72f3bdec600a52331dd4d20" kind="function"><name>offsetRead</name></member>
<member refid="classbsp___s_d_1a3250f411819ed57543b0326d13faddc6" kind="function"><name>SD_CS</name></member>
<member refid="classbsp___s_d_1a25bc03ff69d0c3c9a73153c71c84a8b0" kind="function"><name>SD_GETCID</name></member>
<member refid="classbsp___s_d_1ad0426f6a4b550e60a926c95724d81665" kind="function"><name>SD_GETCSD</name></member>
<member refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" kind="function"><name>MSD0_GetCardInfo</name></member>
<member refid="classbsp___s_d_1a242ec4ccd88203b6691cf4ae1e77fdfe" kind="function"><name>SD_ReceiveData</name></member>
<member refid="classbsp___s_d_1a2df843979bb4c764422a37b255c184ea" kind="function"><name>SD_SendBlock</name></member>
<member refid="classbsp___s_d_1ab799d7d8ebaf4c304bf62722ba10ba37" kind="function"><name>SD_sendcmd</name></member>
<member refid="classbsp___s_d_1a5ed95b95b141ee21d83ca70c1b06a31a" kind="function"><name>SPI_setspeed</name></member>
<member refid="classbsp___s_d_1a36d1110bcbe2404ddd5796dc078ce1f5" kind="function"><name>spi_readwrite</name></member>
</compound>
<compound refid="classbsp___s_t_m32___a_t24_c00" kind="class"><name>bsp_STM32_AT24C00</name>
<member refid="classbsp___s_t_m32___a_t24_c00_1a7b81cd0d8fea1bb0ce4e4b0143612bde" kind="variable"><name>Address</name></member>
<member refid="classbsp___s_t_m32___a_t24_c00_1a5c1a52c22b16f15bf07358a4b181e2ff" kind="variable"><name>Page</name></member>
@@ -156,6 +180,67 @@
<member refid="classbsp___s_t_m32___o_l_e_d_1a4ce72ba6b9e7c027ecfaf9ad8fc30135" kind="function"><name>Send_cmd</name></member>
<member refid="classbsp___s_t_m32___o_l_e_d_1a333b835b09d4471f1be248b88c527d68" kind="function"><name>Send_len_dat</name></member>
</compound>
<compound refid="struct_m_s_d___c_a_r_d_i_n_f_o" kind="struct"><name>MSD_CARDINFO</name>
<member refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" kind="variable"><name>CSD</name></member>
<member refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" kind="variable"><name>CID</name></member>
<member refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a4e5da8ba91229ac3ccb2d3f11f1ab4bf" kind="variable"><name>Capacity</name></member>
<member refid="struct_m_s_d___c_a_r_d_i_n_f_o_1aadaf986217b3c403be1cc4a2fd2fd148" kind="variable"><name>BlockSize</name></member>
<member refid="struct_m_s_d___c_a_r_d_i_n_f_o_1aee98628e11a144ac136f22aefcab744a" kind="variable"><name>RCA</name></member>
<member refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a8f29efd96df6abb8cd6353787eebca04" kind="variable"><name>CardType</name></member>
<member refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a1c923e804e2658280f90cdbfaefe1568" kind="variable"><name>SpaceTotal</name></member>
<member refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a6d9423ab31cd74088dc7b8aadaa20e24" kind="variable"><name>SpaceFree</name></member>
</compound>
<compound refid="struct_m_s_d___c_i_d" kind="struct"><name>MSD_CID</name>
<member refid="struct_m_s_d___c_i_d_1a5ae9ad5d65182a34e20b87fa2752010e" kind="variable"><name>ManufacturerID</name></member>
<member refid="struct_m_s_d___c_i_d_1acd04644e46f7ceca82bbe9bdc80f1d53" kind="variable"><name>OEM_AppliID</name></member>
<member refid="struct_m_s_d___c_i_d_1ab7e359a09fecf1fa2d1b18e708dcc292" kind="variable"><name>ProdName1</name></member>
<member refid="struct_m_s_d___c_i_d_1ad0d7606f38a0140075647fb3f66614ea" kind="variable"><name>ProdName2</name></member>
<member refid="struct_m_s_d___c_i_d_1acd9fbacd30fdff0eef7d885ad4ec438b" kind="variable"><name>ProdRev</name></member>
<member refid="struct_m_s_d___c_i_d_1a0c5c88d258f73f17a496f3b92d9cfd5c" kind="variable"><name>ProdSN</name></member>
<member refid="struct_m_s_d___c_i_d_1a1be2e4d82c95f2d158ce5f5157a7fd5b" kind="variable"><name>Reserved1</name></member>
<member refid="struct_m_s_d___c_i_d_1a55015d75002e50ff4f23cd19c9b5c90a" kind="variable"><name>ManufactDate</name></member>
<member refid="struct_m_s_d___c_i_d_1a61fe89c386eb7bf7b8e2ba44545168de" kind="variable"><name>CID_CRC</name></member>
<member refid="struct_m_s_d___c_i_d_1aac8e73e305ea1ff29ae195a6c0a63e05" kind="variable"><name>Reserved2</name></member>
</compound>
<compound refid="struct_m_s_d___c_s_d" kind="struct"><name>MSD_CSD</name>
<member refid="struct_m_s_d___c_s_d_1a53c6d82426462a5f31a0e07bc2014d97" kind="variable"><name>CSDStruct</name></member>
<member refid="struct_m_s_d___c_s_d_1a8709246fbcaa2984e8752e5d028a25e1" kind="variable"><name>SysSpecVersion</name></member>
<member refid="struct_m_s_d___c_s_d_1a43d9f48b7a10b9b16700cc4df7f944c0" kind="variable"><name>Reserved1</name></member>
<member refid="struct_m_s_d___c_s_d_1ac80ef2c5f8eedf6e361b9d48da66d98d" kind="variable"><name>TAAC</name></member>
<member refid="struct_m_s_d___c_s_d_1ae9fdc21394cb38fc96de03821b5b1f5b" kind="variable"><name>NSAC</name></member>
<member refid="struct_m_s_d___c_s_d_1ae4fe7f59ec2c0fec2d5c5edc912de487" kind="variable"><name>MaxBusClkFrec</name></member>
<member refid="struct_m_s_d___c_s_d_1a235ebfcf7116a28eb8f7e2348b46c279" kind="variable"><name>CardComdClasses</name></member>
<member refid="struct_m_s_d___c_s_d_1a0d503ea30e3553e3dbf1d259c1835bca" kind="variable"><name>RdBlockLen</name></member>
<member refid="struct_m_s_d___c_s_d_1a7e302d0f797f25a53205bf683fcb9315" kind="variable"><name>PartBlockRead</name></member>
<member refid="struct_m_s_d___c_s_d_1aaf61be1914d24eeef107b78d57f96f66" kind="variable"><name>WrBlockMisalign</name></member>
<member refid="struct_m_s_d___c_s_d_1ad4c2ce16da22ad02424466d1b42d04b0" kind="variable"><name>RdBlockMisalign</name></member>
<member refid="struct_m_s_d___c_s_d_1a6010a523c29470b3fca2a179608bb165" kind="variable"><name>DSRImpl</name></member>
<member refid="struct_m_s_d___c_s_d_1af46b7c72145239d75dcf08e97a8015cb" kind="variable"><name>Reserved2</name></member>
<member refid="struct_m_s_d___c_s_d_1ab2341b019f101f621817ab7f13f85321" kind="variable"><name>DeviceSize</name></member>
<member refid="struct_m_s_d___c_s_d_1a5f028ae76ae390e7efc7581863f86fa4" kind="variable"><name>MaxRdCurrentVDDMin</name></member>
<member refid="struct_m_s_d___c_s_d_1a81dee06837a4a641a428af5271ce7881" kind="variable"><name>MaxRdCurrentVDDMax</name></member>
<member refid="struct_m_s_d___c_s_d_1a4312d08d19360f8cda0fdcefea8c58a8" kind="variable"><name>MaxWrCurrentVDDMin</name></member>
<member refid="struct_m_s_d___c_s_d_1a5a4157c022770f5f2a22da59f1287ec1" kind="variable"><name>MaxWrCurrentVDDMax</name></member>
<member refid="struct_m_s_d___c_s_d_1a021add43b09781e1c4feb5a911bab718" kind="variable"><name>DeviceSizeMul</name></member>
<member refid="struct_m_s_d___c_s_d_1a3217bd2b49b77943bcb3e5a6f5f0e419" kind="variable"><name>EraseGrSize</name></member>
<member refid="struct_m_s_d___c_s_d_1a6d4b83a1a42edb0e08f674fa6e611d28" kind="variable"><name>EraseGrMul</name></member>
<member refid="struct_m_s_d___c_s_d_1aa21f77c612167167e40003b6d3784689" kind="variable"><name>WrProtectGrSize</name></member>
<member refid="struct_m_s_d___c_s_d_1a0d11fc6f8c1e51d1b63887603eee8915" kind="variable"><name>WrProtectGrEnable</name></member>
<member refid="struct_m_s_d___c_s_d_1a1ee9e5144b15487f92f6d9ce59835428" kind="variable"><name>ManDeflECC</name></member>
<member refid="struct_m_s_d___c_s_d_1a3ededd192a17234569a584cbd72b12ae" kind="variable"><name>WrSpeedFact</name></member>
<member refid="struct_m_s_d___c_s_d_1a0dcba500cb60f6ce8d95864ae2eaa307" kind="variable"><name>MaxWrBlockLen</name></member>
<member refid="struct_m_s_d___c_s_d_1a3c32bff0de0b6cba1f9bd3205159e6e4" kind="variable"><name>WriteBlockPaPartial</name></member>
<member refid="struct_m_s_d___c_s_d_1a83b44a54e8cefcfffdfb5a744d0bf3d5" kind="variable"><name>Reserved3</name></member>
<member refid="struct_m_s_d___c_s_d_1aaadb152d2dce1323e589580ef0099fec" kind="variable"><name>ContentProtectAppli</name></member>
<member refid="struct_m_s_d___c_s_d_1a08f8247c46de7ef2b0677886470d7792" kind="variable"><name>FileFormatGrouop</name></member>
<member refid="struct_m_s_d___c_s_d_1a17f58dd1f98e6e6376efe142f352cb59" kind="variable"><name>CopyFlag</name></member>
<member refid="struct_m_s_d___c_s_d_1a150bf25ff42008d58320a6b7e531c9ab" kind="variable"><name>PermWrProtect</name></member>
<member refid="struct_m_s_d___c_s_d_1a3f2c48bb307e7779173e3563bbd5038f" kind="variable"><name>TempWrProtect</name></member>
<member refid="struct_m_s_d___c_s_d_1ac3510e157155d4b9d9f67591b1cb0c8e" kind="variable"><name>FileFormat</name></member>
<member refid="struct_m_s_d___c_s_d_1a1e153d660ffe4bbafa596d4b0b8c2906" kind="variable"><name>ECC</name></member>
<member refid="struct_m_s_d___c_s_d_1a81e9f99cdd87dd2e0305b3b191aa5226" kind="variable"><name>CSD_CRC</name></member>
<member refid="struct_m_s_d___c_s_d_1a36b124f6ffc0716dc0dc93c407b975d1" kind="variable"><name>Reserved4</name></member>
</compound>
<compound refid="class_s_t_l__l_queue" kind="class"><name>STL_lQueue</name>
<member refid="class_s_t_l__l_queue_1a32f62d0933c052bcebeb318c1230f3f7" kind="variable"><name>poptopfun</name></member>
<member refid="class_s_t_l__l_queue_1aa30f82a9e8ccf14839fb0d4bc0060428" kind="variable"><name>mem</name></member>
@@ -291,6 +376,51 @@
</compound>
<compound refid="bsp___p_i_d_8h" kind="file"><name>bsp_PID.h</name>
</compound>
<compound refid="bsp___s_d_8cpp" kind="file"><name>bsp_SD.cpp</name>
</compound>
<compound refid="bsp___s_d_8h" kind="file"><name>bsp_SD.h</name>
<member refid="bsp___s_d_8h_1a735563036dced0b7d6cc98f97ea4978b" kind="define"><name>ERR</name></member>
<member refid="bsp___s_d_8h_1ab5a7d5477e55758bde614bda3250a93c" kind="define"><name>MMC</name></member>
<member refid="bsp___s_d_8h_1ae21a9518b4dd62d2baeab430c89a657a" kind="define"><name>V1</name></member>
<member refid="bsp___s_d_8h_1a9173468f90b474471bfff59f8487cbc1" kind="define"><name>V2</name></member>
<member refid="bsp___s_d_8h_1ae52e14c1b95e5162f4fe492d9b1b0fec" kind="define"><name>V2HC</name></member>
<member refid="bsp___s_d_8h_1adc81a065700d3af56b6fb631585e3641" kind="define"><name>DUMMY_BYTE</name></member>
<member refid="bsp___s_d_8h_1a5bda0c70032a9b8625ae5a3c55d21c38" kind="define"><name>MSD_BLOCKSIZE</name></member>
<member refid="bsp___s_d_8h_1a938c1466755f12fb04ac0d1b775584d1" kind="define"><name>CMD0</name></member>
<member refid="bsp___s_d_8h_1aca9979f299fa78c1128d778084478673" kind="define"><name>CMD1</name></member>
<member refid="bsp___s_d_8h_1ac75b3e0ad1fb013ea946fb49bbe65668" kind="define"><name>CMD8</name></member>
<member refid="bsp___s_d_8h_1a1fac6a251d7e7dc204d21639bf521459" kind="define"><name>CMD9</name></member>
<member refid="bsp___s_d_8h_1ae7b800ed8e7bd52e6f570a5ce72b8104" kind="define"><name>CMD10</name></member>
<member refid="bsp___s_d_8h_1a8d6283c9b060afbaa0e6d1ff7e5ea7b8" kind="define"><name>CMD12</name></member>
<member refid="bsp___s_d_8h_1aaeab261b94f2031ba41a1d4d857c3541" kind="define"><name>CMD16</name></member>
<member refid="bsp___s_d_8h_1a6bbfe7dc16a19b7f40efcf554b5666ad" kind="define"><name>CMD17</name></member>
<member refid="bsp___s_d_8h_1a3d32c27a6be061b865ba539127278f14" kind="define"><name>CMD18</name></member>
<member refid="bsp___s_d_8h_1a14506e981f38b6177bc36f72c2ca18b1" kind="define"><name>CMD23</name></member>
<member refid="bsp___s_d_8h_1a252300302c6f7960df547a7f5c25be85" kind="define"><name>CMD24</name></member>
<member refid="bsp___s_d_8h_1aee2c673fba987178f4642531fdeefe9e" kind="define"><name>CMD25</name></member>
<member refid="bsp___s_d_8h_1a3ca1450d0ac55d2705aab03537bf2865" kind="define"><name>CMD41</name></member>
<member refid="bsp___s_d_8h_1a78289a7a85ffcfddd626694105dc0780" kind="define"><name>CMD55</name></member>
<member refid="bsp___s_d_8h_1aa7a26b2cf17e1ff5967820a1fa41a7aa" kind="define"><name>CMD58</name></member>
<member refid="bsp___s_d_8h_1aa8ea570644ddff6d18b63e4abbf39e0d" kind="define"><name>CMD59</name></member>
<member refid="bsp___s_d_8h_1ab953703883503eb3ce420f096b1621d0" kind="define"><name>MSD_DATA_OK</name></member>
<member refid="bsp___s_d_8h_1a7ba9783b76cf956a82211e058071f984" kind="define"><name>MSD_DATA_CRC_ERROR</name></member>
<member refid="bsp___s_d_8h_1a6a6a48e9e40eda37b834b23d5320dfdf" kind="define"><name>MSD_DATA_WRITE_ERROR</name></member>
<member refid="bsp___s_d_8h_1ad68bbaecb6931999de71e8a6b703574f" kind="define"><name>MSD_DATA_OTHER_ERROR</name></member>
<member refid="bsp___s_d_8h_1afa5629413ae6bf82d3f1182df4cea0cf" kind="define"><name>MSD_RESPONSE_NO_ERROR</name></member>
<member refid="bsp___s_d_8h_1a70bdd15776b2a749ae184132d2a5da28" kind="define"><name>MSD_IN_IDLE_STATE</name></member>
<member refid="bsp___s_d_8h_1ad0ce329dc56b89327987e754ab0e93b8" kind="define"><name>MSD_ERASE_RESET</name></member>
<member refid="bsp___s_d_8h_1a80ede800869bbe11125170faf44ad94f" kind="define"><name>MSD_ILLEGAL_COMMAND</name></member>
<member refid="bsp___s_d_8h_1a8c6cecbb8cb9921c38776a83ed4ad343" kind="define"><name>MSD_COM_CRC_ERROR</name></member>
<member refid="bsp___s_d_8h_1a8c7923c819c9ba27f65a380f7360f429" kind="define"><name>MSD_ERASE_SEQUENCE_ERROR</name></member>
<member refid="bsp___s_d_8h_1a211793a480ef462b7a1c55d6d36a8c25" kind="define"><name>MSD_ADDRESS_ERROR</name></member>
<member refid="bsp___s_d_8h_1ae3555061fbbb3bd2becaa0d1bdf6c825" kind="define"><name>MSD_PARAMETER_ERROR</name></member>
<member refid="bsp___s_d_8h_1ab5e7857b07a45a8828a235c55d3873ff" kind="define"><name>MSD_RESPONSE_FAILURE</name></member>
<member refid="bsp___s_d_8h_1a81ab6678d52bfaa2c2dc9048f5215cf9" kind="enum"><name>_CD_HOLD</name></member>
<member refid="bsp___s_d_8h_1a81ab6678d52bfaa2c2dc9048f5215cf9a9cfa27b414cab750fb14ec07cdf5cf6a" kind="enumvalue"><name>HOLD</name></member>
<member refid="bsp___s_d_8h_1a81ab6678d52bfaa2c2dc9048f5215cf9ad590443978dc58d64aed5001f56efcdf" kind="enumvalue"><name>RELEASE</name></member>
<member refid="bsp___s_d_8h_1a64c818be5c771b5bcfd5cbd998c0f9c6" kind="typedef"><name>PMSD_CARDINFO</name></member>
<member refid="bsp___s_d_8h_1a2c85a6a257358283b46ba829ae0c2dba" kind="variable"><name>SD0_CardInfo</name></member>
</compound>
<compound refid="varint_8h" kind="file"><name>varint.h</name>
<member refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kind="typedef"><name>u8</name></member>
<member refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kind="typedef"><name>u16</name></member>

View File

@@ -0,0 +1,161 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.5" xml:lang="zh">
<compounddef id="struct_m_s_d___c_a_r_d_i_n_f_o" kind="struct" language="C++" prot="public">
<compoundname>MSD_CARDINFO</compoundname>
<includes refid="bsp___s_d_8h" local="no">bsp_SD.h</includes>
<sectiondef kind="public-attrib">
<memberdef kind="variable" id="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" prot="public" static="no" mutable="no">
<type><ref refid="struct_m_s_d___c_s_d" kindref="compound">MSD_CSD</ref></type>
<definition>MSD_CSD MSD_CARDINFO::CSD</definition>
<argsstring></argsstring>
<name>CSD</name>
<qualifiedname>MSD_CARDINFO::CSD</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="150" column="8" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="150" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" prot="public" static="no" mutable="no">
<type><ref refid="struct_m_s_d___c_i_d" kindref="compound">MSD_CID</ref></type>
<definition>MSD_CID MSD_CARDINFO::CID</definition>
<argsstring></argsstring>
<name>CID</name>
<qualifiedname>MSD_CARDINFO::CID</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="151" column="8" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="151" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_a_r_d_i_n_f_o_1a4e5da8ba91229ac3ccb2d3f11f1ab4bf" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref></type>
<definition>u32 MSD_CARDINFO::Capacity</definition>
<argsstring></argsstring>
<name>Capacity</name>
<qualifiedname>MSD_CARDINFO::Capacity</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="152" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="152" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_a_r_d_i_n_f_o_1aadaf986217b3c403be1cc4a2fd2fd148" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref></type>
<definition>u32 MSD_CARDINFO::BlockSize</definition>
<argsstring></argsstring>
<name>BlockSize</name>
<qualifiedname>MSD_CARDINFO::BlockSize</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="153" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="153" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_a_r_d_i_n_f_o_1aee98628e11a144ac136f22aefcab744a" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kindref="member">u16</ref></type>
<definition>u16 MSD_CARDINFO::RCA</definition>
<argsstring></argsstring>
<name>RCA</name>
<qualifiedname>MSD_CARDINFO::RCA</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="154" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="154" bodyend="-1"/>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_a_r_d_i_n_f_o_1a8f29efd96df6abb8cd6353787eebca04" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CARDINFO::CardType</definition>
<argsstring></argsstring>
<name>CardType</name>
<qualifiedname>MSD_CARDINFO::CardType</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="155" column="3" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="155" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_a_r_d_i_n_f_o_1a1c923e804e2658280f90cdbfaefe1568" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref></type>
<definition>u32 MSD_CARDINFO::SpaceTotal</definition>
<argsstring></argsstring>
<name>SpaceTotal</name>
<qualifiedname>MSD_CARDINFO::SpaceTotal</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="156" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="156" bodyend="-1"/>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_a_r_d_i_n_f_o_1a6d9423ab31cd74088dc7b8aadaa20e24" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref></type>
<definition>u32 MSD_CARDINFO::SpaceFree</definition>
<argsstring></argsstring>
<name>SpaceFree</name>
<qualifiedname>MSD_CARDINFO::SpaceFree</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="157" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="157" bodyend="-1"/>
</memberdef>
</sectiondef>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<collaborationgraph>
<node id="1">
<label>MSD_CARDINFO</label>
<link refid="struct_m_s_d___c_a_r_d_i_n_f_o"/>
<childnode refid="2" relation="usage">
<edgelabel>CSD</edgelabel>
</childnode>
<childnode refid="3" relation="usage">
<edgelabel>CID</edgelabel>
</childnode>
</node>
<node id="3">
<label>MSD_CID</label>
<link refid="struct_m_s_d___c_i_d"/>
</node>
<node id="2">
<label>MSD_CSD</label>
<link refid="struct_m_s_d___c_s_d"/>
</node>
</collaborationgraph>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="149" column="1" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="149" bodyend="158"/>
<listofallmembers>
<member refid="struct_m_s_d___c_a_r_d_i_n_f_o_1aadaf986217b3c403be1cc4a2fd2fd148" prot="public" virt="non-virtual"><scope>MSD_CARDINFO</scope><name>BlockSize</name></member>
<member refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a4e5da8ba91229ac3ccb2d3f11f1ab4bf" prot="public" virt="non-virtual"><scope>MSD_CARDINFO</scope><name>Capacity</name></member>
<member refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a8f29efd96df6abb8cd6353787eebca04" prot="public" virt="non-virtual"><scope>MSD_CARDINFO</scope><name>CardType</name></member>
<member refid="struct_m_s_d___c_a_r_d_i_n_f_o_1ab267c45d70fa28f9ff17829fa8753509" prot="public" virt="non-virtual"><scope>MSD_CARDINFO</scope><name>CID</name></member>
<member refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a9893f18007a0897aa45869e703f4cc2a" prot="public" virt="non-virtual"><scope>MSD_CARDINFO</scope><name>CSD</name></member>
<member refid="struct_m_s_d___c_a_r_d_i_n_f_o_1aee98628e11a144ac136f22aefcab744a" prot="public" virt="non-virtual"><scope>MSD_CARDINFO</scope><name>RCA</name></member>
<member refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a6d9423ab31cd74088dc7b8aadaa20e24" prot="public" virt="non-virtual"><scope>MSD_CARDINFO</scope><name>SpaceFree</name></member>
<member refid="struct_m_s_d___c_a_r_d_i_n_f_o_1a1c923e804e2658280f90cdbfaefe1568" prot="public" virt="non-virtual"><scope>MSD_CARDINFO</scope><name>SpaceTotal</name></member>
</listofallmembers>
</compounddef>
</doxygen>

View File

@@ -0,0 +1,176 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.5" xml:lang="zh">
<compounddef id="struct_m_s_d___c_i_d" kind="struct" language="C++" prot="public">
<compoundname>MSD_CID</compoundname>
<includes refid="bsp___s_d_8h" local="no">bsp_SD.h</includes>
<sectiondef kind="public-attrib">
<memberdef kind="variable" id="struct_m_s_d___c_i_d_1a5ae9ad5d65182a34e20b87fa2752010e" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CID::ManufacturerID</definition>
<argsstring></argsstring>
<name>ManufacturerID</name>
<qualifiedname>MSD_CID::ManufacturerID</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="137" column="3" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="137" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_i_d_1acd04644e46f7ceca82bbe9bdc80f1d53" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kindref="member">u16</ref></type>
<definition>u16 MSD_CID::OEM_AppliID</definition>
<argsstring></argsstring>
<name>OEM_AppliID</name>
<qualifiedname>MSD_CID::OEM_AppliID</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="138" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="138" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_i_d_1ab7e359a09fecf1fa2d1b18e708dcc292" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref></type>
<definition>u32 MSD_CID::ProdName1</definition>
<argsstring></argsstring>
<name>ProdName1</name>
<qualifiedname>MSD_CID::ProdName1</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="139" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="139" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_i_d_1ad0d7606f38a0140075647fb3f66614ea" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CID::ProdName2</definition>
<argsstring></argsstring>
<name>ProdName2</name>
<qualifiedname>MSD_CID::ProdName2</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="140" column="3" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="140" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_i_d_1acd9fbacd30fdff0eef7d885ad4ec438b" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CID::ProdRev</definition>
<argsstring></argsstring>
<name>ProdRev</name>
<qualifiedname>MSD_CID::ProdRev</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="141" column="3" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="141" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_i_d_1a0c5c88d258f73f17a496f3b92d9cfd5c" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref></type>
<definition>u32 MSD_CID::ProdSN</definition>
<argsstring></argsstring>
<name>ProdSN</name>
<qualifiedname>MSD_CID::ProdSN</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="142" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="142" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_i_d_1a1be2e4d82c95f2d158ce5f5157a7fd5b" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CID::Reserved1</definition>
<argsstring></argsstring>
<name>Reserved1</name>
<qualifiedname>MSD_CID::Reserved1</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="143" column="3" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="143" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_i_d_1a55015d75002e50ff4f23cd19c9b5c90a" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kindref="member">u16</ref></type>
<definition>u16 MSD_CID::ManufactDate</definition>
<argsstring></argsstring>
<name>ManufactDate</name>
<qualifiedname>MSD_CID::ManufactDate</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="144" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="144" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_i_d_1a61fe89c386eb7bf7b8e2ba44545168de" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CID::CID_CRC</definition>
<argsstring></argsstring>
<name>CID_CRC</name>
<qualifiedname>MSD_CID::CID_CRC</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="145" column="3" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="145" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_i_d_1aac8e73e305ea1ff29ae195a6c0a63e05" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CID::Reserved2</definition>
<argsstring></argsstring>
<name>Reserved2</name>
<qualifiedname>MSD_CID::Reserved2</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="146" column="3" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="146" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
</sectiondef>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="136" column="1" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="136" bodyend="147"/>
<listofallmembers>
<member refid="struct_m_s_d___c_i_d_1a61fe89c386eb7bf7b8e2ba44545168de" prot="public" virt="non-virtual"><scope>MSD_CID</scope><name>CID_CRC</name></member>
<member refid="struct_m_s_d___c_i_d_1a55015d75002e50ff4f23cd19c9b5c90a" prot="public" virt="non-virtual"><scope>MSD_CID</scope><name>ManufactDate</name></member>
<member refid="struct_m_s_d___c_i_d_1a5ae9ad5d65182a34e20b87fa2752010e" prot="public" virt="non-virtual"><scope>MSD_CID</scope><name>ManufacturerID</name></member>
<member refid="struct_m_s_d___c_i_d_1acd04644e46f7ceca82bbe9bdc80f1d53" prot="public" virt="non-virtual"><scope>MSD_CID</scope><name>OEM_AppliID</name></member>
<member refid="struct_m_s_d___c_i_d_1ab7e359a09fecf1fa2d1b18e708dcc292" prot="public" virt="non-virtual"><scope>MSD_CID</scope><name>ProdName1</name></member>
<member refid="struct_m_s_d___c_i_d_1ad0d7606f38a0140075647fb3f66614ea" prot="public" virt="non-virtual"><scope>MSD_CID</scope><name>ProdName2</name></member>
<member refid="struct_m_s_d___c_i_d_1acd9fbacd30fdff0eef7d885ad4ec438b" prot="public" virt="non-virtual"><scope>MSD_CID</scope><name>ProdRev</name></member>
<member refid="struct_m_s_d___c_i_d_1a0c5c88d258f73f17a496f3b92d9cfd5c" prot="public" virt="non-virtual"><scope>MSD_CID</scope><name>ProdSN</name></member>
<member refid="struct_m_s_d___c_i_d_1a1be2e4d82c95f2d158ce5f5157a7fd5b" prot="public" virt="non-virtual"><scope>MSD_CID</scope><name>Reserved1</name></member>
<member refid="struct_m_s_d___c_i_d_1aac8e73e305ea1ff29ae195a6c0a63e05" prot="public" virt="non-virtual"><scope>MSD_CID</scope><name>Reserved2</name></member>
</listofallmembers>
</compounddef>
</doxygen>

View File

@@ -0,0 +1,608 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.5" xml:lang="zh">
<compounddef id="struct_m_s_d___c_s_d" kind="struct" language="C++" prot="public">
<compoundname>MSD_CSD</compoundname>
<includes refid="bsp___s_d_8h" local="no">bsp_SD.h</includes>
<sectiondef kind="public-attrib">
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a53c6d82426462a5f31a0e07bc2014d97" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::CSDStruct</definition>
<argsstring></argsstring>
<name>CSDStruct</name>
<qualifiedname>MSD_CSD::CSDStruct</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="96" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="96" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a8709246fbcaa2984e8752e5d028a25e1" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::SysSpecVersion</definition>
<argsstring></argsstring>
<name>SysSpecVersion</name>
<qualifiedname>MSD_CSD::SysSpecVersion</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="97" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="97" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a43d9f48b7a10b9b16700cc4df7f944c0" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::Reserved1</definition>
<argsstring></argsstring>
<name>Reserved1</name>
<qualifiedname>MSD_CSD::Reserved1</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="98" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="98" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1ac80ef2c5f8eedf6e361b9d48da66d98d" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::TAAC</definition>
<argsstring></argsstring>
<name>TAAC</name>
<qualifiedname>MSD_CSD::TAAC</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="99" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="99" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1ae9fdc21394cb38fc96de03821b5b1f5b" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::NSAC</definition>
<argsstring></argsstring>
<name>NSAC</name>
<qualifiedname>MSD_CSD::NSAC</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="100" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="100" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1ae4fe7f59ec2c0fec2d5c5edc912de487" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::MaxBusClkFrec</definition>
<argsstring></argsstring>
<name>MaxBusClkFrec</name>
<qualifiedname>MSD_CSD::MaxBusClkFrec</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="101" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="101" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a235ebfcf7116a28eb8f7e2348b46c279" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa" kindref="member">u16</ref></type>
<definition>u16 MSD_CSD::CardComdClasses</definition>
<argsstring></argsstring>
<name>CardComdClasses</name>
<qualifiedname>MSD_CSD::CardComdClasses</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="102" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="102" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a0d503ea30e3553e3dbf1d259c1835bca" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::RdBlockLen</definition>
<argsstring></argsstring>
<name>RdBlockLen</name>
<qualifiedname>MSD_CSD::RdBlockLen</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="103" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="103" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a7e302d0f797f25a53205bf683fcb9315" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::PartBlockRead</definition>
<argsstring></argsstring>
<name>PartBlockRead</name>
<qualifiedname>MSD_CSD::PartBlockRead</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="104" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="104" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1aaf61be1914d24eeef107b78d57f96f66" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::WrBlockMisalign</definition>
<argsstring></argsstring>
<name>WrBlockMisalign</name>
<qualifiedname>MSD_CSD::WrBlockMisalign</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="105" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="105" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1ad4c2ce16da22ad02424466d1b42d04b0" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::RdBlockMisalign</definition>
<argsstring></argsstring>
<name>RdBlockMisalign</name>
<qualifiedname>MSD_CSD::RdBlockMisalign</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="106" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="106" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a6010a523c29470b3fca2a179608bb165" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::DSRImpl</definition>
<argsstring></argsstring>
<name>DSRImpl</name>
<qualifiedname>MSD_CSD::DSRImpl</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="107" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="107" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1af46b7c72145239d75dcf08e97a8015cb" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::Reserved2</definition>
<argsstring></argsstring>
<name>Reserved2</name>
<qualifiedname>MSD_CSD::Reserved2</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="108" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="108" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1ab2341b019f101f621817ab7f13f85321" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref></type>
<definition>u32 MSD_CSD::DeviceSize</definition>
<argsstring></argsstring>
<name>DeviceSize</name>
<qualifiedname>MSD_CSD::DeviceSize</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="109" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="109" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a5f028ae76ae390e7efc7581863f86fa4" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::MaxRdCurrentVDDMin</definition>
<argsstring></argsstring>
<name>MaxRdCurrentVDDMin</name>
<qualifiedname>MSD_CSD::MaxRdCurrentVDDMin</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="110" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="110" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a81dee06837a4a641a428af5271ce7881" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::MaxRdCurrentVDDMax</definition>
<argsstring></argsstring>
<name>MaxRdCurrentVDDMax</name>
<qualifiedname>MSD_CSD::MaxRdCurrentVDDMax</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="111" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="111" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a4312d08d19360f8cda0fdcefea8c58a8" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::MaxWrCurrentVDDMin</definition>
<argsstring></argsstring>
<name>MaxWrCurrentVDDMin</name>
<qualifiedname>MSD_CSD::MaxWrCurrentVDDMin</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="112" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="112" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a5a4157c022770f5f2a22da59f1287ec1" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::MaxWrCurrentVDDMax</definition>
<argsstring></argsstring>
<name>MaxWrCurrentVDDMax</name>
<qualifiedname>MSD_CSD::MaxWrCurrentVDDMax</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="113" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="113" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a021add43b09781e1c4feb5a911bab718" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::DeviceSizeMul</definition>
<argsstring></argsstring>
<name>DeviceSizeMul</name>
<qualifiedname>MSD_CSD::DeviceSizeMul</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="114" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="114" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a3217bd2b49b77943bcb3e5a6f5f0e419" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::EraseGrSize</definition>
<argsstring></argsstring>
<name>EraseGrSize</name>
<qualifiedname>MSD_CSD::EraseGrSize</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="115" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="115" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a6d4b83a1a42edb0e08f674fa6e611d28" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::EraseGrMul</definition>
<argsstring></argsstring>
<name>EraseGrMul</name>
<qualifiedname>MSD_CSD::EraseGrMul</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="116" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="116" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1aa21f77c612167167e40003b6d3784689" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::WrProtectGrSize</definition>
<argsstring></argsstring>
<name>WrProtectGrSize</name>
<qualifiedname>MSD_CSD::WrProtectGrSize</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="117" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="117" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a0d11fc6f8c1e51d1b63887603eee8915" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::WrProtectGrEnable</definition>
<argsstring></argsstring>
<name>WrProtectGrEnable</name>
<qualifiedname>MSD_CSD::WrProtectGrEnable</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="118" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="118" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a1ee9e5144b15487f92f6d9ce59835428" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::ManDeflECC</definition>
<argsstring></argsstring>
<name>ManDeflECC</name>
<qualifiedname>MSD_CSD::ManDeflECC</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="119" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="119" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a3ededd192a17234569a584cbd72b12ae" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::WrSpeedFact</definition>
<argsstring></argsstring>
<name>WrSpeedFact</name>
<qualifiedname>MSD_CSD::WrSpeedFact</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="120" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="120" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a0dcba500cb60f6ce8d95864ae2eaa307" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::MaxWrBlockLen</definition>
<argsstring></argsstring>
<name>MaxWrBlockLen</name>
<qualifiedname>MSD_CSD::MaxWrBlockLen</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="121" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="121" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a3c32bff0de0b6cba1f9bd3205159e6e4" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::WriteBlockPaPartial</definition>
<argsstring></argsstring>
<name>WriteBlockPaPartial</name>
<qualifiedname>MSD_CSD::WriteBlockPaPartial</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="122" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="122" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a83b44a54e8cefcfffdfb5a744d0bf3d5" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::Reserved3</definition>
<argsstring></argsstring>
<name>Reserved3</name>
<qualifiedname>MSD_CSD::Reserved3</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="123" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="123" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1aaadb152d2dce1323e589580ef0099fec" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::ContentProtectAppli</definition>
<argsstring></argsstring>
<name>ContentProtectAppli</name>
<qualifiedname>MSD_CSD::ContentProtectAppli</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="124" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="124" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a08f8247c46de7ef2b0677886470d7792" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::FileFormatGrouop</definition>
<argsstring></argsstring>
<name>FileFormatGrouop</name>
<qualifiedname>MSD_CSD::FileFormatGrouop</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="125" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="125" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a17f58dd1f98e6e6376efe142f352cb59" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::CopyFlag</definition>
<argsstring></argsstring>
<name>CopyFlag</name>
<qualifiedname>MSD_CSD::CopyFlag</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="126" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="126" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a150bf25ff42008d58320a6b7e531c9ab" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::PermWrProtect</definition>
<argsstring></argsstring>
<name>PermWrProtect</name>
<qualifiedname>MSD_CSD::PermWrProtect</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="127" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="127" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a3f2c48bb307e7779173e3563bbd5038f" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::TempWrProtect</definition>
<argsstring></argsstring>
<name>TempWrProtect</name>
<qualifiedname>MSD_CSD::TempWrProtect</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="128" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="128" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1ac3510e157155d4b9d9f67591b1cb0c8e" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::FileFormat</definition>
<argsstring></argsstring>
<name>FileFormat</name>
<qualifiedname>MSD_CSD::FileFormat</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="129" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="129" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a1e153d660ffe4bbafa596d4b0b8c2906" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::ECC</definition>
<argsstring></argsstring>
<name>ECC</name>
<qualifiedname>MSD_CSD::ECC</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="130" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="130" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a81e9f99cdd87dd2e0305b3b191aa5226" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::CSD_CRC</definition>
<argsstring></argsstring>
<name>CSD_CRC</name>
<qualifiedname>MSD_CSD::CSD_CRC</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="131" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="131" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
<memberdef kind="variable" id="struct_m_s_d___c_s_d_1a36b124f6ffc0716dc0dc93c407b975d1" prot="public" static="no" mutable="no">
<type><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref></type>
<definition>u8 MSD_CSD::Reserved4</definition>
<argsstring></argsstring>
<name>Reserved4</name>
<qualifiedname>MSD_CSD::Reserved4</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="132" column="4" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="132" bodyend="-1"/>
<referencedby refid="classbsp___s_d_1aaf2d27cc9275f3ffa71556124f143d12" compoundref="bsp___s_d_8cpp" startline="207" endline="320">bsp_SD::MSD0_GetCardInfo</referencedby>
</memberdef>
</sectiondef>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" line="95" column="1" bodyfile="D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h" bodystart="95" bodyend="133"/>
<listofallmembers>
<member refid="struct_m_s_d___c_s_d_1a235ebfcf7116a28eb8f7e2348b46c279" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>CardComdClasses</name></member>
<member refid="struct_m_s_d___c_s_d_1aaadb152d2dce1323e589580ef0099fec" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>ContentProtectAppli</name></member>
<member refid="struct_m_s_d___c_s_d_1a17f58dd1f98e6e6376efe142f352cb59" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>CopyFlag</name></member>
<member refid="struct_m_s_d___c_s_d_1a81e9f99cdd87dd2e0305b3b191aa5226" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>CSD_CRC</name></member>
<member refid="struct_m_s_d___c_s_d_1a53c6d82426462a5f31a0e07bc2014d97" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>CSDStruct</name></member>
<member refid="struct_m_s_d___c_s_d_1ab2341b019f101f621817ab7f13f85321" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>DeviceSize</name></member>
<member refid="struct_m_s_d___c_s_d_1a021add43b09781e1c4feb5a911bab718" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>DeviceSizeMul</name></member>
<member refid="struct_m_s_d___c_s_d_1a6010a523c29470b3fca2a179608bb165" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>DSRImpl</name></member>
<member refid="struct_m_s_d___c_s_d_1a1e153d660ffe4bbafa596d4b0b8c2906" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>ECC</name></member>
<member refid="struct_m_s_d___c_s_d_1a6d4b83a1a42edb0e08f674fa6e611d28" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>EraseGrMul</name></member>
<member refid="struct_m_s_d___c_s_d_1a3217bd2b49b77943bcb3e5a6f5f0e419" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>EraseGrSize</name></member>
<member refid="struct_m_s_d___c_s_d_1ac3510e157155d4b9d9f67591b1cb0c8e" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>FileFormat</name></member>
<member refid="struct_m_s_d___c_s_d_1a08f8247c46de7ef2b0677886470d7792" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>FileFormatGrouop</name></member>
<member refid="struct_m_s_d___c_s_d_1a1ee9e5144b15487f92f6d9ce59835428" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>ManDeflECC</name></member>
<member refid="struct_m_s_d___c_s_d_1ae4fe7f59ec2c0fec2d5c5edc912de487" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>MaxBusClkFrec</name></member>
<member refid="struct_m_s_d___c_s_d_1a81dee06837a4a641a428af5271ce7881" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>MaxRdCurrentVDDMax</name></member>
<member refid="struct_m_s_d___c_s_d_1a5f028ae76ae390e7efc7581863f86fa4" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>MaxRdCurrentVDDMin</name></member>
<member refid="struct_m_s_d___c_s_d_1a0dcba500cb60f6ce8d95864ae2eaa307" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>MaxWrBlockLen</name></member>
<member refid="struct_m_s_d___c_s_d_1a5a4157c022770f5f2a22da59f1287ec1" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>MaxWrCurrentVDDMax</name></member>
<member refid="struct_m_s_d___c_s_d_1a4312d08d19360f8cda0fdcefea8c58a8" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>MaxWrCurrentVDDMin</name></member>
<member refid="struct_m_s_d___c_s_d_1ae9fdc21394cb38fc96de03821b5b1f5b" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>NSAC</name></member>
<member refid="struct_m_s_d___c_s_d_1a7e302d0f797f25a53205bf683fcb9315" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>PartBlockRead</name></member>
<member refid="struct_m_s_d___c_s_d_1a150bf25ff42008d58320a6b7e531c9ab" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>PermWrProtect</name></member>
<member refid="struct_m_s_d___c_s_d_1a0d503ea30e3553e3dbf1d259c1835bca" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>RdBlockLen</name></member>
<member refid="struct_m_s_d___c_s_d_1ad4c2ce16da22ad02424466d1b42d04b0" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>RdBlockMisalign</name></member>
<member refid="struct_m_s_d___c_s_d_1a43d9f48b7a10b9b16700cc4df7f944c0" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>Reserved1</name></member>
<member refid="struct_m_s_d___c_s_d_1af46b7c72145239d75dcf08e97a8015cb" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>Reserved2</name></member>
<member refid="struct_m_s_d___c_s_d_1a83b44a54e8cefcfffdfb5a744d0bf3d5" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>Reserved3</name></member>
<member refid="struct_m_s_d___c_s_d_1a36b124f6ffc0716dc0dc93c407b975d1" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>Reserved4</name></member>
<member refid="struct_m_s_d___c_s_d_1a8709246fbcaa2984e8752e5d028a25e1" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>SysSpecVersion</name></member>
<member refid="struct_m_s_d___c_s_d_1ac80ef2c5f8eedf6e361b9d48da66d98d" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>TAAC</name></member>
<member refid="struct_m_s_d___c_s_d_1a3f2c48bb307e7779173e3563bbd5038f" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>TempWrProtect</name></member>
<member refid="struct_m_s_d___c_s_d_1aaf61be1914d24eeef107b78d57f96f66" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>WrBlockMisalign</name></member>
<member refid="struct_m_s_d___c_s_d_1a3c32bff0de0b6cba1f9bd3205159e6e4" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>WriteBlockPaPartial</name></member>
<member refid="struct_m_s_d___c_s_d_1a0d11fc6f8c1e51d1b63887603eee8915" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>WrProtectGrEnable</name></member>
<member refid="struct_m_s_d___c_s_d_1aa21f77c612167167e40003b6d3784689" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>WrProtectGrSize</name></member>
<member refid="struct_m_s_d___c_s_d_1a3ededd192a17234569a584cbd72b12ae" prot="public" virt="non-virtual"><scope>MSD_CSD</scope><name>WrSpeedFact</name></member>
</listofallmembers>
</compounddef>
</doxygen>

View File

@@ -16,6 +16,7 @@
<includedby refid="bsp___mod_bus___s_t_m32_8h" local="yes">D:/gitt/MicrochipFor32/bsp_Device/bsp_ModBus_STM32.h</includedby>
<includedby refid="bsp___o_l_e_d___s_t_m32_8h" local="yes">D:/gitt/MicrochipFor32/bsp_Device/bsp_OLED_STM32.h</includedby>
<includedby refid="bsp___p_i_d_8h" local="yes">D:/gitt/MicrochipFor32/bsp_Device/bsp_PID.h</includedby>
<includedby refid="bsp___s_d_8h" local="yes">D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h</includedby>
<includedby refid="mpu6050_8h" local="yes">D:/gitt/MicrochipFor32/bsp_MPU6050/mpu6050.h</includedby>
<includedby refid="vartable_8h" local="yes">D:/gitt/MicrochipFor32/bsp_System/vartable.h</includedby>
<incdepgraph>
@@ -162,6 +163,16 @@
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="27">
<label>D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.cpp</label>
<link refid="bsp___s_d_8cpp"/>
</node>
<node id="26">
<label>D:/gitt/MicrochipFor32/bsp_Device/bsp_SD.h</label>
<link refid="bsp___s_d_8h"/>
<childnode refid="27" relation="include">
</childnode>
</node>
<node id="1">
<label>D:/gitt/MicrochipFor32/bsp_Device/varint.h</label>
<link refid="varint_8h"/>
@@ -195,38 +206,40 @@
</childnode>
<childnode refid="28" relation="include">
</childnode>
</node>
<node id="27">
<label>D:/gitt/MicrochipFor32/bsp_MPU6050/mpu6050.cpp</label>
<link refid="mpu6050_8cpp"/>
</node>
<node id="26">
<label>D:/gitt/MicrochipFor32/bsp_MPU6050/mpu6050.h</label>
<link refid="mpu6050_8h"/>
<childnode refid="27" relation="include">
<childnode refid="30" relation="include">
</childnode>
</node>
<node id="29">
<label>D:/gitt/MicrochipFor32/bsp_MPU6050/mpu6050.cpp</label>
<link refid="mpu6050_8cpp"/>
</node>
<node id="28">
<label>D:/gitt/MicrochipFor32/bsp_MPU6050/mpu6050.h</label>
<link refid="mpu6050_8h"/>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="31">
<label>D:/gitt/MicrochipFor32/bsp_System/Callback.cpp</label>
<link refid="_callback_8cpp"/>
</node>
<node id="30">
<node id="32">
<label>D:/gitt/MicrochipFor32/bsp_System/MainSystem.cpp</label>
<link refid="_main_system_8cpp"/>
</node>
<node id="31">
<node id="33">
<label>D:/gitt/MicrochipFor32/bsp_System/vartable.cpp</label>
<link refid="vartable_8cpp"/>
</node>
<node id="28">
<node id="30">
<label>D:/gitt/MicrochipFor32/bsp_System/vartable.h</label>
<link refid="vartable_8h"/>
<childnode refid="29" relation="include">
</childnode>
<childnode refid="30" relation="include">
</childnode>
<childnode refid="31" relation="include">
</childnode>
<childnode refid="32" relation="include">
</childnode>
<childnode refid="33" relation="include">
</childnode>
</node>
</invincdepgraph>
<sectiondef kind="typedef">