Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

744 lines
34KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.6"/>
  7. <title>SdFat: Sd2Card Class Reference</title>
  8. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  9. <script type="text/javascript" src="jquery.js"></script>
  10. <script type="text/javascript" src="dynsections.js"></script>
  11. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  12. </head>
  13. <body>
  14. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  15. <div id="titlearea">
  16. <table cellspacing="0" cellpadding="0">
  17. <tbody>
  18. <tr style="height: 56px;">
  19. <td style="padding-left: 0.5em;">
  20. <div id="projectname">SdFat
  21. </div>
  22. </td>
  23. </tr>
  24. </tbody>
  25. </table>
  26. </div>
  27. <!-- end header part -->
  28. <!-- Generated by Doxygen 1.8.6 -->
  29. <div id="navrow1" class="tabs">
  30. <ul class="tablist">
  31. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  32. <li><a href="namespaces.html"><span>Namespaces</span></a></li>
  33. <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
  34. <li><a href="files.html"><span>Files</span></a></li>
  35. </ul>
  36. </div>
  37. <div id="navrow2" class="tabs2">
  38. <ul class="tablist">
  39. <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
  40. <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
  41. <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
  42. </ul>
  43. </div>
  44. </div><!-- top -->
  45. <div class="header">
  46. <div class="summary">
  47. <a href="#pub-methods">Public Member Functions</a> &#124;
  48. <a href="class_sd2_card-members.html">List of all members</a> </div>
  49. <div class="headertitle">
  50. <div class="title">Sd2Card Class Reference</div> </div>
  51. </div><!--header-->
  52. <div class="contents">
  53. <p>Raw access to SD and SDHC flash memory cards.
  54. <a href="class_sd2_card.html#details">More...</a></p>
  55. <p><code>#include &lt;Sd2Card.h&gt;</code></p>
  56. <table class="memberdecls">
  57. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  58. Public Member Functions</h2></td></tr>
  59. <tr class="memitem:a4e55e83403be452b10b0564ca63896f1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#a4e55e83403be452b10b0564ca63896f1">begin</a> (uint8_t chipSelectPin=<a class="el" href="_sd_spi_8h.html#ae6b17538c14ba6c91ccb513db2c4c29c">SD_CHIP_SELECT_PIN</a>, uint8_t <a class="el" href="class_sd2_card.html#a6bcfd1bf665bf4ff88a46c07741fac43">sckDivisor</a>=SPI_FULL_SPEED)</td></tr>
  60. <tr class="separator:a4e55e83403be452b10b0564ca63896f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  61. <tr class="memitem:a21ef1c5321041d4d73107b84e2db5189"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#a21ef1c5321041d4d73107b84e2db5189">cardSize</a> ()</td></tr>
  62. <tr class="separator:a21ef1c5321041d4d73107b84e2db5189"><td class="memSeparator" colspan="2">&#160;</td></tr>
  63. <tr class="memitem:a2d73473118c5692e0f7d13db7da3570f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#a2d73473118c5692e0f7d13db7da3570f">erase</a> (uint32_t firstBlock, uint32_t lastBlock)</td></tr>
  64. <tr class="separator:a2d73473118c5692e0f7d13db7da3570f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  65. <tr class="memitem:aceacbe30077e41ab84a34e629a03bb33"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#aceacbe30077e41ab84a34e629a03bb33">eraseSingleBlockEnable</a> ()</td></tr>
  66. <tr class="separator:aceacbe30077e41ab84a34e629a03bb33"><td class="memSeparator" colspan="2">&#160;</td></tr>
  67. <tr class="memitem:af03e574590524f93a61641604e02f79f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#af03e574590524f93a61641604e02f79f">error</a> (uint8_t code)</td></tr>
  68. <tr class="separator:af03e574590524f93a61641604e02f79f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  69. <tr class="memitem:a3549d1878c0134171e399fd2d60b96f7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#a3549d1878c0134171e399fd2d60b96f7">errorCode</a> () const </td></tr>
  70. <tr class="separator:a3549d1878c0134171e399fd2d60b96f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  71. <tr class="memitem:a1736acdbf194c6a2fd923c0a5049c016"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#a1736acdbf194c6a2fd923c0a5049c016">errorData</a> () const </td></tr>
  72. <tr class="separator:a1736acdbf194c6a2fd923c0a5049c016"><td class="memSeparator" colspan="2">&#160;</td></tr>
  73. <tr class="memitem:a71523097165fce957c7f65b033471fc7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#a71523097165fce957c7f65b033471fc7">init</a> (uint8_t <a class="el" href="class_sd2_card.html#a6bcfd1bf665bf4ff88a46c07741fac43">sckDivisor</a>=SPI_FULL_SPEED, uint8_t chipSelectPin=<a class="el" href="_sd_spi_8h.html#ae6b17538c14ba6c91ccb513db2c4c29c">SD_CHIP_SELECT_PIN</a>)</td></tr>
  74. <tr class="separator:a71523097165fce957c7f65b033471fc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  75. <tr class="memitem:a28eafda720598dcb2923955776199e19"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#a28eafda720598dcb2923955776199e19">isBusy</a> ()</td></tr>
  76. <tr class="separator:a28eafda720598dcb2923955776199e19"><td class="memSeparator" colspan="2">&#160;</td></tr>
  77. <tr class="memitem:a6b015ee1c94004b8b16639910e5a3466"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#a6b015ee1c94004b8b16639910e5a3466">readBlock</a> (uint32_t block, uint8_t *dst)</td></tr>
  78. <tr class="separator:a6b015ee1c94004b8b16639910e5a3466"><td class="memSeparator" colspan="2">&#160;</td></tr>
  79. <tr class="memitem:abaf488d56f653efa8e3349bf803ce2b0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#abaf488d56f653efa8e3349bf803ce2b0">readCID</a> (cid_t *cid)</td></tr>
  80. <tr class="separator:abaf488d56f653efa8e3349bf803ce2b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  81. <tr class="memitem:a1b0c68df7f508f876d56fc1270536c87"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#a1b0c68df7f508f876d56fc1270536c87">readCSD</a> (csd_t *csd)</td></tr>
  82. <tr class="separator:a1b0c68df7f508f876d56fc1270536c87"><td class="memSeparator" colspan="2">&#160;</td></tr>
  83. <tr class="memitem:a7d6e8a504f8525afd6d36a22ee5b8cc0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#a7d6e8a504f8525afd6d36a22ee5b8cc0">readData</a> (uint8_t *dst)</td></tr>
  84. <tr class="separator:a7d6e8a504f8525afd6d36a22ee5b8cc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  85. <tr class="memitem:a9198517574578064a48f8f2b1874aae5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#a9198517574578064a48f8f2b1874aae5">readOCR</a> (uint32_t *ocr)</td></tr>
  86. <tr class="separator:a9198517574578064a48f8f2b1874aae5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  87. <tr class="memitem:a3259be9721e14a2edf8b549e4aeb2e40"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#a3259be9721e14a2edf8b549e4aeb2e40">readStart</a> (uint32_t blockNumber)</td></tr>
  88. <tr class="separator:a3259be9721e14a2edf8b549e4aeb2e40"><td class="memSeparator" colspan="2">&#160;</td></tr>
  89. <tr class="memitem:ae133ad5a80c2652a964afd2320cc7c94"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#ae133ad5a80c2652a964afd2320cc7c94">readStop</a> ()</td></tr>
  90. <tr class="separator:ae133ad5a80c2652a964afd2320cc7c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
  91. <tr class="memitem:a6bcfd1bf665bf4ff88a46c07741fac43"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#a6bcfd1bf665bf4ff88a46c07741fac43">sckDivisor</a> ()</td></tr>
  92. <tr class="separator:a6bcfd1bf665bf4ff88a46c07741fac43"><td class="memSeparator" colspan="2">&#160;</td></tr>
  93. <tr class="memitem:a17c8713ae610106567679a8685696375"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#a17c8713ae610106567679a8685696375">Sd2Card</a> ()</td></tr>
  94. <tr class="separator:a17c8713ae610106567679a8685696375"><td class="memSeparator" colspan="2">&#160;</td></tr>
  95. <tr class="memitem:adcee026d613619414e2b6d3eca2c6537"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#adcee026d613619414e2b6d3eca2c6537">type</a> () const </td></tr>
  96. <tr class="separator:adcee026d613619414e2b6d3eca2c6537"><td class="memSeparator" colspan="2">&#160;</td></tr>
  97. <tr class="memitem:ad5eecc3e1e68b9e5a43edfb8e4205469"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#ad5eecc3e1e68b9e5a43edfb8e4205469">writeBlock</a> (uint32_t blockNumber, const uint8_t *src)</td></tr>
  98. <tr class="separator:ad5eecc3e1e68b9e5a43edfb8e4205469"><td class="memSeparator" colspan="2">&#160;</td></tr>
  99. <tr class="memitem:afb96025babf92878213dd691263d93ef"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#afb96025babf92878213dd691263d93ef">writeData</a> (const uint8_t *src)</td></tr>
  100. <tr class="separator:afb96025babf92878213dd691263d93ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
  101. <tr class="memitem:a1039df4f6620213a98b317d11da2014e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#a1039df4f6620213a98b317d11da2014e">writeStart</a> (uint32_t blockNumber, uint32_t eraseCount)</td></tr>
  102. <tr class="separator:a1039df4f6620213a98b317d11da2014e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  103. <tr class="memitem:a7e1ec48b0a83d13415841da870290f64"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sd2_card.html#a7e1ec48b0a83d13415841da870290f64">writeStop</a> ()</td></tr>
  104. <tr class="separator:a7e1ec48b0a83d13415841da870290f64"><td class="memSeparator" colspan="2">&#160;</td></tr>
  105. </table>
  106. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  107. <div class="textblock"><p>Raw access to SD and SDHC flash memory cards. </p>
  108. </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  109. <a class="anchor" id="a17c8713ae610106567679a8685696375"></a>
  110. <div class="memitem">
  111. <div class="memproto">
  112. <table class="mlabels">
  113. <tr>
  114. <td class="mlabels-left">
  115. <table class="memname">
  116. <tr>
  117. <td class="memname">Sd2Card::Sd2Card </td>
  118. <td>(</td>
  119. <td class="paramname"></td><td>)</td>
  120. <td></td>
  121. </tr>
  122. </table>
  123. </td>
  124. <td class="mlabels-right">
  125. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  126. </tr>
  127. </table>
  128. </div><div class="memdoc">
  129. <p>Construct an instance of <a class="el" href="class_sd2_card.html" title="Raw access to SD and SDHC flash memory cards. ">Sd2Card</a>. </p>
  130. </div>
  131. </div>
  132. <h2 class="groupheader">Member Function Documentation</h2>
  133. <a class="anchor" id="a4e55e83403be452b10b0564ca63896f1"></a>
  134. <div class="memitem">
  135. <div class="memproto">
  136. <table class="memname">
  137. <tr>
  138. <td class="memname">bool Sd2Card::begin </td>
  139. <td>(</td>
  140. <td class="paramtype">uint8_t&#160;</td>
  141. <td class="paramname"><em>chipSelectPin</em> = <code><a class="el" href="_sd_spi_8h.html#ae6b17538c14ba6c91ccb513db2c4c29c">SD_CHIP_SELECT_PIN</a></code>, </td>
  142. </tr>
  143. <tr>
  144. <td class="paramkey"></td>
  145. <td></td>
  146. <td class="paramtype">uint8_t&#160;</td>
  147. <td class="paramname"><em>sckDivisor</em> = <code>SPI_FULL_SPEED</code>&#160;</td>
  148. </tr>
  149. <tr>
  150. <td></td>
  151. <td>)</td>
  152. <td></td><td></td>
  153. </tr>
  154. </table>
  155. </div><div class="memdoc">
  156. <p>Initialize an SD flash memory card.</p>
  157. <dl class="params"><dt>Parameters</dt><dd>
  158. <table class="params">
  159. <tr><td class="paramdir">[in]</td><td class="paramname">chipSelectPin</td><td>SD chip select pin number. </td></tr>
  160. <tr><td class="paramdir">[in]</td><td class="paramname">sckDivisor</td><td>SPI SCK clock rate divisor.</td></tr>
  161. </table>
  162. </dd>
  163. </dl>
  164. <dl class="section return"><dt>Returns</dt><dd>The value one, true, is returned for success and the value zero, false, is returned for failure. The reason for failure can be determined by calling <a class="el" href="class_sd2_card.html#a3549d1878c0134171e399fd2d60b96f7">errorCode()</a> and <a class="el" href="class_sd2_card.html#a1736acdbf194c6a2fd923c0a5049c016">errorData()</a>. </dd></dl>
  165. </div>
  166. </div>
  167. <a class="anchor" id="a21ef1c5321041d4d73107b84e2db5189"></a>
  168. <div class="memitem">
  169. <div class="memproto">
  170. <table class="memname">
  171. <tr>
  172. <td class="memname">uint32_t Sd2Card::cardSize </td>
  173. <td>(</td>
  174. <td class="paramname"></td><td>)</td>
  175. <td></td>
  176. </tr>
  177. </table>
  178. </div><div class="memdoc">
  179. <p>Determine the size of an SD flash memory card.</p>
  180. <dl class="section return"><dt>Returns</dt><dd>The number of 512 byte data blocks in the card or zero if an error occurs. </dd></dl>
  181. </div>
  182. </div>
  183. <a class="anchor" id="a2d73473118c5692e0f7d13db7da3570f"></a>
  184. <div class="memitem">
  185. <div class="memproto">
  186. <table class="memname">
  187. <tr>
  188. <td class="memname">bool Sd2Card::erase </td>
  189. <td>(</td>
  190. <td class="paramtype">uint32_t&#160;</td>
  191. <td class="paramname"><em>firstBlock</em>, </td>
  192. </tr>
  193. <tr>
  194. <td class="paramkey"></td>
  195. <td></td>
  196. <td class="paramtype">uint32_t&#160;</td>
  197. <td class="paramname"><em>lastBlock</em>&#160;</td>
  198. </tr>
  199. <tr>
  200. <td></td>
  201. <td>)</td>
  202. <td></td><td></td>
  203. </tr>
  204. </table>
  205. </div><div class="memdoc">
  206. <p>Erase a range of blocks.</p>
  207. <dl class="params"><dt>Parameters</dt><dd>
  208. <table class="params">
  209. <tr><td class="paramdir">[in]</td><td class="paramname">firstBlock</td><td>The address of the first block in the range. </td></tr>
  210. <tr><td class="paramdir">[in]</td><td class="paramname">lastBlock</td><td>The address of the last block in the range.</td></tr>
  211. </table>
  212. </dd>
  213. </dl>
  214. <dl class="section note"><dt>Note</dt><dd>This function requests the SD card to do a flash erase for a range of blocks. The data on the card after an erase operation is either 0 or 1, depends on the card vendor. The card must support single block erase.</dd></dl>
  215. <dl class="section return"><dt>Returns</dt><dd>The value one, true, is returned for success and the value zero, false, is returned for failure. </dd></dl>
  216. </div>
  217. </div>
  218. <a class="anchor" id="aceacbe30077e41ab84a34e629a03bb33"></a>
  219. <div class="memitem">
  220. <div class="memproto">
  221. <table class="memname">
  222. <tr>
  223. <td class="memname">bool Sd2Card::eraseSingleBlockEnable </td>
  224. <td>(</td>
  225. <td class="paramname"></td><td>)</td>
  226. <td></td>
  227. </tr>
  228. </table>
  229. </div><div class="memdoc">
  230. <p>Determine if card supports single block erase.</p>
  231. <dl class="section return"><dt>Returns</dt><dd>The value one, true, is returned if single block erase is supported. The value zero, false, is returned if single block erase is not supported. </dd></dl>
  232. </div>
  233. </div>
  234. <a class="anchor" id="af03e574590524f93a61641604e02f79f"></a>
  235. <div class="memitem">
  236. <div class="memproto">
  237. <table class="mlabels">
  238. <tr>
  239. <td class="mlabels-left">
  240. <table class="memname">
  241. <tr>
  242. <td class="memname">void Sd2Card::error </td>
  243. <td>(</td>
  244. <td class="paramtype">uint8_t&#160;</td>
  245. <td class="paramname"><em>code</em></td><td>)</td>
  246. <td></td>
  247. </tr>
  248. </table>
  249. </td>
  250. <td class="mlabels-right">
  251. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  252. </tr>
  253. </table>
  254. </div><div class="memdoc">
  255. <p>Set SD error code. </p>
  256. <dl class="params"><dt>Parameters</dt><dd>
  257. <table class="params">
  258. <tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>value for error code. </td></tr>
  259. </table>
  260. </dd>
  261. </dl>
  262. </div>
  263. </div>
  264. <a class="anchor" id="a3549d1878c0134171e399fd2d60b96f7"></a>
  265. <div class="memitem">
  266. <div class="memproto">
  267. <table class="mlabels">
  268. <tr>
  269. <td class="mlabels-left">
  270. <table class="memname">
  271. <tr>
  272. <td class="memname">int Sd2Card::errorCode </td>
  273. <td>(</td>
  274. <td class="paramname"></td><td>)</td>
  275. <td> const</td>
  276. </tr>
  277. </table>
  278. </td>
  279. <td class="mlabels-right">
  280. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  281. </tr>
  282. </table>
  283. </div><div class="memdoc">
  284. <dl class="section return"><dt>Returns</dt><dd>error code for last error. See <a class="el" href="_sd2_card_8h.html" title="Sd2Card class for V2 SD/SDHC cards. ">Sd2Card.h</a> for a list of error codes. </dd></dl>
  285. </div>
  286. </div>
  287. <a class="anchor" id="a1736acdbf194c6a2fd923c0a5049c016"></a>
  288. <div class="memitem">
  289. <div class="memproto">
  290. <table class="mlabels">
  291. <tr>
  292. <td class="mlabels-left">
  293. <table class="memname">
  294. <tr>
  295. <td class="memname">int Sd2Card::errorData </td>
  296. <td>(</td>
  297. <td class="paramname"></td><td>)</td>
  298. <td> const</td>
  299. </tr>
  300. </table>
  301. </td>
  302. <td class="mlabels-right">
  303. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  304. </tr>
  305. </table>
  306. </div><div class="memdoc">
  307. <dl class="section return"><dt>Returns</dt><dd>error data for last error. </dd></dl>
  308. </div>
  309. </div>
  310. <a class="anchor" id="a71523097165fce957c7f65b033471fc7"></a>
  311. <div class="memitem">
  312. <div class="memproto">
  313. <table class="mlabels">
  314. <tr>
  315. <td class="mlabels-left">
  316. <table class="memname">
  317. <tr>
  318. <td class="memname">bool Sd2Card::init </td>
  319. <td>(</td>
  320. <td class="paramtype">uint8_t&#160;</td>
  321. <td class="paramname"><em>sckDivisor</em> = <code>SPI_FULL_SPEED</code>, </td>
  322. </tr>
  323. <tr>
  324. <td class="paramkey"></td>
  325. <td></td>
  326. <td class="paramtype">uint8_t&#160;</td>
  327. <td class="paramname"><em>chipSelectPin</em> = <code><a class="el" href="_sd_spi_8h.html#ae6b17538c14ba6c91ccb513db2c4c29c">SD_CHIP_SELECT_PIN</a></code>&#160;</td>
  328. </tr>
  329. <tr>
  330. <td></td>
  331. <td>)</td>
  332. <td></td><td></td>
  333. </tr>
  334. </table>
  335. </td>
  336. <td class="mlabels-right">
  337. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  338. </tr>
  339. </table>
  340. </div><div class="memdoc">
  341. <p>Initialize an SD flash memory card.</p>
  342. <dl class="params"><dt>Parameters</dt><dd>
  343. <table class="params">
  344. <tr><td class="paramdir">[in]</td><td class="paramname">chipSelectPin</td><td>SD chip select pin number. </td></tr>
  345. <tr><td class="paramdir">[in]</td><td class="paramname">sckDivisor</td><td>SPI SCK clock rate divisor.</td></tr>
  346. </table>
  347. </dd>
  348. </dl>
  349. <dl class="section return"><dt>Returns</dt><dd>The value one, true, is returned for success and the value zero, false, is returned for failure. The reason for failure can be determined by calling <a class="el" href="class_sd2_card.html#a3549d1878c0134171e399fd2d60b96f7">errorCode()</a> and <a class="el" href="class_sd2_card.html#a1736acdbf194c6a2fd923c0a5049c016">errorData()</a>. </dd></dl>
  350. </div>
  351. </div>
  352. <a class="anchor" id="a28eafda720598dcb2923955776199e19"></a>
  353. <div class="memitem">
  354. <div class="memproto">
  355. <table class="memname">
  356. <tr>
  357. <td class="memname">bool Sd2Card::isBusy </td>
  358. <td>(</td>
  359. <td class="paramname"></td><td>)</td>
  360. <td></td>
  361. </tr>
  362. </table>
  363. </div><div class="memdoc">
  364. <p>Check for busy. MISO low indicates the card is busy.</p>
  365. <dl class="section return"><dt>Returns</dt><dd>true if busy else false. </dd></dl>
  366. </div>
  367. </div>
  368. <a class="anchor" id="a6b015ee1c94004b8b16639910e5a3466"></a>
  369. <div class="memitem">
  370. <div class="memproto">
  371. <table class="memname">
  372. <tr>
  373. <td class="memname">bool Sd2Card::readBlock </td>
  374. <td>(</td>
  375. <td class="paramtype">uint32_t&#160;</td>
  376. <td class="paramname"><em>blockNumber</em>, </td>
  377. </tr>
  378. <tr>
  379. <td class="paramkey"></td>
  380. <td></td>
  381. <td class="paramtype">uint8_t *&#160;</td>
  382. <td class="paramname"><em>dst</em>&#160;</td>
  383. </tr>
  384. <tr>
  385. <td></td>
  386. <td>)</td>
  387. <td></td><td></td>
  388. </tr>
  389. </table>
  390. </div><div class="memdoc">
  391. <p>Read a 512 byte block from an SD card.</p>
  392. <dl class="params"><dt>Parameters</dt><dd>
  393. <table class="params">
  394. <tr><td class="paramdir">[in]</td><td class="paramname">blockNumber</td><td>Logical block to be read. </td></tr>
  395. <tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>Pointer to the location that will receive the data.</td></tr>
  396. </table>
  397. </dd>
  398. </dl>
  399. <dl class="section return"><dt>Returns</dt><dd>The value one, true, is returned for success and the value zero, false, is returned for failure. </dd></dl>
  400. </div>
  401. </div>
  402. <a class="anchor" id="abaf488d56f653efa8e3349bf803ce2b0"></a>
  403. <div class="memitem">
  404. <div class="memproto">
  405. <table class="mlabels">
  406. <tr>
  407. <td class="mlabels-left">
  408. <table class="memname">
  409. <tr>
  410. <td class="memname">bool Sd2Card::readCID </td>
  411. <td>(</td>
  412. <td class="paramtype">cid_t *&#160;</td>
  413. <td class="paramname"><em>cid</em></td><td>)</td>
  414. <td></td>
  415. </tr>
  416. </table>
  417. </td>
  418. <td class="mlabels-right">
  419. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  420. </tr>
  421. </table>
  422. </div><div class="memdoc">
  423. <p>Read a card's CID register. The CID contains card identification information such as Manufacturer ID, Product name, Product serial number and Manufacturing date.</p>
  424. <dl class="params"><dt>Parameters</dt><dd>
  425. <table class="params">
  426. <tr><td class="paramdir">[out]</td><td class="paramname">cid</td><td>pointer to area for returned data.</td></tr>
  427. </table>
  428. </dd>
  429. </dl>
  430. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  431. </div>
  432. </div>
  433. <a class="anchor" id="a1b0c68df7f508f876d56fc1270536c87"></a>
  434. <div class="memitem">
  435. <div class="memproto">
  436. <table class="mlabels">
  437. <tr>
  438. <td class="mlabels-left">
  439. <table class="memname">
  440. <tr>
  441. <td class="memname">bool Sd2Card::readCSD </td>
  442. <td>(</td>
  443. <td class="paramtype">csd_t *&#160;</td>
  444. <td class="paramname"><em>csd</em></td><td>)</td>
  445. <td></td>
  446. </tr>
  447. </table>
  448. </td>
  449. <td class="mlabels-right">
  450. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  451. </tr>
  452. </table>
  453. </div><div class="memdoc">
  454. <p>Read a card's CSD register. The CSD contains Card-Specific Data that provides information regarding access to the card's contents.</p>
  455. <dl class="params"><dt>Parameters</dt><dd>
  456. <table class="params">
  457. <tr><td class="paramdir">[out]</td><td class="paramname">csd</td><td>pointer to area for returned data.</td></tr>
  458. </table>
  459. </dd>
  460. </dl>
  461. <dl class="section return"><dt>Returns</dt><dd>true for success or false for failure. </dd></dl>
  462. </div>
  463. </div>
  464. <a class="anchor" id="a7d6e8a504f8525afd6d36a22ee5b8cc0"></a>
  465. <div class="memitem">
  466. <div class="memproto">
  467. <table class="memname">
  468. <tr>
  469. <td class="memname">bool Sd2Card::readData </td>
  470. <td>(</td>
  471. <td class="paramtype">uint8_t *&#160;</td>
  472. <td class="paramname"><em>dst</em></td><td>)</td>
  473. <td></td>
  474. </tr>
  475. </table>
  476. </div><div class="memdoc">
  477. <p>Read one data block in a multiple block read sequence</p>
  478. <dl class="params"><dt>Parameters</dt><dd>
  479. <table class="params">
  480. <tr><td class="paramdir">[in]</td><td class="paramname">dst</td><td>Pointer to the location for the data to be read.</td></tr>
  481. </table>
  482. </dd>
  483. </dl>
  484. <dl class="section return"><dt>Returns</dt><dd>The value one, true, is returned for success and the value zero, false, is returned for failure. </dd></dl>
  485. </div>
  486. </div>
  487. <a class="anchor" id="a9198517574578064a48f8f2b1874aae5"></a>
  488. <div class="memitem">
  489. <div class="memproto">
  490. <table class="memname">
  491. <tr>
  492. <td class="memname">bool Sd2Card::readOCR </td>
  493. <td>(</td>
  494. <td class="paramtype">uint32_t *&#160;</td>
  495. <td class="paramname"><em>ocr</em></td><td>)</td>
  496. <td></td>
  497. </tr>
  498. </table>
  499. </div><div class="memdoc">
  500. <p>Read OCR register.</p>
  501. <dl class="params"><dt>Parameters</dt><dd>
  502. <table class="params">
  503. <tr><td class="paramdir">[out]</td><td class="paramname">ocr</td><td>Value of OCR register. </td></tr>
  504. </table>
  505. </dd>
  506. </dl>
  507. <dl class="section return"><dt>Returns</dt><dd>true for success else false. </dd></dl>
  508. </div>
  509. </div>
  510. <a class="anchor" id="a3259be9721e14a2edf8b549e4aeb2e40"></a>
  511. <div class="memitem">
  512. <div class="memproto">
  513. <table class="memname">
  514. <tr>
  515. <td class="memname">bool Sd2Card::readStart </td>
  516. <td>(</td>
  517. <td class="paramtype">uint32_t&#160;</td>
  518. <td class="paramname"><em>blockNumber</em></td><td>)</td>
  519. <td></td>
  520. </tr>
  521. </table>
  522. </div><div class="memdoc">
  523. <p>Start a read multiple blocks sequence.</p>
  524. <dl class="params"><dt>Parameters</dt><dd>
  525. <table class="params">
  526. <tr><td class="paramdir">[in]</td><td class="paramname">blockNumber</td><td>Address of first block in sequence.</td></tr>
  527. </table>
  528. </dd>
  529. </dl>
  530. <dl class="section note"><dt>Note</dt><dd>This function is used with <a class="el" href="class_sd2_card.html#a7d6e8a504f8525afd6d36a22ee5b8cc0">readData()</a> and <a class="el" href="class_sd2_card.html#ae133ad5a80c2652a964afd2320cc7c94">readStop()</a> for optimized multiple block reads. SPI chipSelect must be low for the entire sequence.</dd></dl>
  531. <dl class="section return"><dt>Returns</dt><dd>The value one, true, is returned for success and the value zero, false, is returned for failure. </dd></dl>
  532. </div>
  533. </div>
  534. <a class="anchor" id="ae133ad5a80c2652a964afd2320cc7c94"></a>
  535. <div class="memitem">
  536. <div class="memproto">
  537. <table class="memname">
  538. <tr>
  539. <td class="memname">bool Sd2Card::readStop </td>
  540. <td>(</td>
  541. <td class="paramname"></td><td>)</td>
  542. <td></td>
  543. </tr>
  544. </table>
  545. </div><div class="memdoc">
  546. <p>End a read multiple blocks sequence.</p>
  547. <dl class="section return"><dt>Returns</dt><dd>The value one, true, is returned for success and the value zero, false, is returned for failure. </dd></dl>
  548. </div>
  549. </div>
  550. <a class="anchor" id="a6bcfd1bf665bf4ff88a46c07741fac43"></a>
  551. <div class="memitem">
  552. <div class="memproto">
  553. <table class="mlabels">
  554. <tr>
  555. <td class="mlabels-left">
  556. <table class="memname">
  557. <tr>
  558. <td class="memname">uint8_t Sd2Card::sckDivisor </td>
  559. <td>(</td>
  560. <td class="paramname"></td><td>)</td>
  561. <td></td>
  562. </tr>
  563. </table>
  564. </td>
  565. <td class="mlabels-right">
  566. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  567. </tr>
  568. </table>
  569. </div><div class="memdoc">
  570. <p>Return SCK divisor.</p>
  571. <dl class="section return"><dt>Returns</dt><dd>Requested SCK divisor. </dd></dl>
  572. </div>
  573. </div>
  574. <a class="anchor" id="adcee026d613619414e2b6d3eca2c6537"></a>
  575. <div class="memitem">
  576. <div class="memproto">
  577. <table class="mlabels">
  578. <tr>
  579. <td class="mlabels-left">
  580. <table class="memname">
  581. <tr>
  582. <td class="memname">int Sd2Card::type </td>
  583. <td>(</td>
  584. <td class="paramname"></td><td>)</td>
  585. <td> const</td>
  586. </tr>
  587. </table>
  588. </td>
  589. <td class="mlabels-right">
  590. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  591. </tr>
  592. </table>
  593. </div><div class="memdoc">
  594. <p>Return the card type: SD V1, SD V2 or SDHC </p>
  595. <dl class="section return"><dt>Returns</dt><dd>0 - SD V1, 1 - SD V2, or 3 - SDHC. </dd></dl>
  596. </div>
  597. </div>
  598. <a class="anchor" id="ad5eecc3e1e68b9e5a43edfb8e4205469"></a>
  599. <div class="memitem">
  600. <div class="memproto">
  601. <table class="memname">
  602. <tr>
  603. <td class="memname">bool Sd2Card::writeBlock </td>
  604. <td>(</td>
  605. <td class="paramtype">uint32_t&#160;</td>
  606. <td class="paramname"><em>blockNumber</em>, </td>
  607. </tr>
  608. <tr>
  609. <td class="paramkey"></td>
  610. <td></td>
  611. <td class="paramtype">const uint8_t *&#160;</td>
  612. <td class="paramname"><em>src</em>&#160;</td>
  613. </tr>
  614. <tr>
  615. <td></td>
  616. <td>)</td>
  617. <td></td><td></td>
  618. </tr>
  619. </table>
  620. </div><div class="memdoc">
  621. <p>Writes a 512 byte block to an SD card.</p>
  622. <dl class="params"><dt>Parameters</dt><dd>
  623. <table class="params">
  624. <tr><td class="paramdir">[in]</td><td class="paramname">blockNumber</td><td>Logical block to be written. </td></tr>
  625. <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Pointer to the location of the data to be written. </td></tr>
  626. </table>
  627. </dd>
  628. </dl>
  629. <dl class="section return"><dt>Returns</dt><dd>The value one, true, is returned for success and the value zero, false, is returned for failure. </dd></dl>
  630. </div>
  631. </div>
  632. <a class="anchor" id="afb96025babf92878213dd691263d93ef"></a>
  633. <div class="memitem">
  634. <div class="memproto">
  635. <table class="memname">
  636. <tr>
  637. <td class="memname">bool Sd2Card::writeData </td>
  638. <td>(</td>
  639. <td class="paramtype">const uint8_t *&#160;</td>
  640. <td class="paramname"><em>src</em></td><td>)</td>
  641. <td></td>
  642. </tr>
  643. </table>
  644. </div><div class="memdoc">
  645. <p>Write one data block in a multiple block write sequence </p>
  646. <dl class="params"><dt>Parameters</dt><dd>
  647. <table class="params">
  648. <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Pointer to the location of the data to be written. </td></tr>
  649. </table>
  650. </dd>
  651. </dl>
  652. <dl class="section return"><dt>Returns</dt><dd>The value one, true, is returned for success and the value zero, false, is returned for failure. </dd></dl>
  653. </div>
  654. </div>
  655. <a class="anchor" id="a1039df4f6620213a98b317d11da2014e"></a>
  656. <div class="memitem">
  657. <div class="memproto">
  658. <table class="memname">
  659. <tr>
  660. <td class="memname">bool Sd2Card::writeStart </td>
  661. <td>(</td>
  662. <td class="paramtype">uint32_t&#160;</td>
  663. <td class="paramname"><em>blockNumber</em>, </td>
  664. </tr>
  665. <tr>
  666. <td class="paramkey"></td>
  667. <td></td>
  668. <td class="paramtype">uint32_t&#160;</td>
  669. <td class="paramname"><em>eraseCount</em>&#160;</td>
  670. </tr>
  671. <tr>
  672. <td></td>
  673. <td>)</td>
  674. <td></td><td></td>
  675. </tr>
  676. </table>
  677. </div><div class="memdoc">
  678. <p>Start a write multiple blocks sequence.</p>
  679. <dl class="params"><dt>Parameters</dt><dd>
  680. <table class="params">
  681. <tr><td class="paramdir">[in]</td><td class="paramname">blockNumber</td><td>Address of first block in sequence. </td></tr>
  682. <tr><td class="paramdir">[in]</td><td class="paramname">eraseCount</td><td>The number of blocks to be pre-erased.</td></tr>
  683. </table>
  684. </dd>
  685. </dl>
  686. <dl class="section note"><dt>Note</dt><dd>This function is used with <a class="el" href="class_sd2_card.html#afb96025babf92878213dd691263d93ef">writeData()</a> and <a class="el" href="class_sd2_card.html#a7e1ec48b0a83d13415841da870290f64">writeStop()</a> for optimized multiple block writes.</dd></dl>
  687. <dl class="section return"><dt>Returns</dt><dd>The value one, true, is returned for success and the value zero, false, is returned for failure. </dd></dl>
  688. </div>
  689. </div>
  690. <a class="anchor" id="a7e1ec48b0a83d13415841da870290f64"></a>
  691. <div class="memitem">
  692. <div class="memproto">
  693. <table class="memname">
  694. <tr>
  695. <td class="memname">bool Sd2Card::writeStop </td>
  696. <td>(</td>
  697. <td class="paramname"></td><td>)</td>
  698. <td></td>
  699. </tr>
  700. </table>
  701. </div><div class="memdoc">
  702. <p>End a write multiple blocks sequence.</p>
  703. <dl class="section return"><dt>Returns</dt><dd>The value one, true, is returned for success and the value zero, false, is returned for failure. </dd></dl>
  704. </div>
  705. </div>
  706. <hr/>The documentation for this class was generated from the following files:<ul>
  707. <li>Arduino/libraries/SdFat/<a class="el" href="_sd2_card_8h.html">Sd2Card.h</a></li>
  708. <li>Arduino/libraries/SdFat/<a class="el" href="_sd2_card_8cpp.html">Sd2Card.cpp</a></li>
  709. </ul>
  710. </div><!-- contents -->
  711. <!-- start footer part -->
  712. <hr class="footer"/><address class="footer"><small>
  713. Generated on Fri Oct 24 2014 05:45:13 for SdFat by &#160;<a href="http://www.doxygen.org/index.html">
  714. <img class="footer" src="doxygen.png" alt="doxygen"/>
  715. </a> 1.8.6
  716. </small></address>
  717. </body>
  718. </html>