將Arduino連接到適配器
這些適配器板通常使用串行外設接口(SPI)與微控制器通信。因此,它將占用Arduino上的三個GPIO引腳。此外,您還需要連接芯片選擇線以啟用SD卡和電源適配器供電線。
將Arduino連接到SD卡適配器的示意圖。
綠色(MISO)和黃色(MOSI)線連接到Arduino的引腳12和11。時鐘(藍色)需要連接到引腳13.如果您不確定需要在Arduino上使用哪些引腳,請參閱Arduino文檔。
短測試程序
進行必要的連接后,就可以連接SD卡了。簡短的測試草圖列出了卡上的文件。代碼可以在本文末尾的zip文件中找到 sd_info 。
如您所見,大多數代碼處理控制臺輸出。只需幾行即可連接到設備并初始化文件系統以讀取和寫入文件。但是,此示例僅打印卡的一些基本屬性,如大小,類型和已保存的文件。
SD_info示例。
寫入SD卡上的文件
現在我們知道卡和模塊都在運行,是時候將一些值寫入文件了。示例 SD_write (在本文末尾找到)將兩行寫入存儲在SD卡上的日志文件中。
代碼的初始化部分幾乎是與第一個程序相同。但是,不是打開音量,而是必須初始化SD卡本身。初始化后,必須打開文件。
打開文件進行寫入時,如果文件尚不存在,則會自動創建該文件。光標始終位于文件的末尾。因此,如果您在打開文件時沒有移動它,只需將新文本附加到其中即可。由于內容存儲在SD卡上,您只需使用計算機讀取文件內容即可。
SD_write程序示例。
從存儲在SD卡上的文件中讀取
您也可以使用SD卡讀取文件。但是,與標準C函數相比,可用的方法非常有限。我發現SD卡經常在查找文件夾中的文件時遇到問題。以下示例(在zip文件中的 SD_read 下)說明了如何從包含傳感器讀數的文件中讀取值。
此示例與寫入示例之間唯一真正的區別在于文件按字節方式讀取。因此,您必須從文件中讀取字節數。結果應如下所示:
-
Arduino
+關注
關注
188文章
6489瀏覽量
190028
發布評論請先 登錄
【STM32系統】基于STM32設計的SD卡數據讀取與上位機顯示系統(SDIO接口驅動、雷龍貼片SD卡)
Arduino程序:實現SD NAND(貼片sd卡)的讀寫功能
TF卡與SD卡的區別
樹莓派4b支持多大的sd卡
學習SD卡模塊遇到的事兒
利用arduino IDE 1.8.9做ESP32的開發,無法將資料寫入SD卡中是為什么?
SD卡、MicroSD卡和SD NAND的性能與應用對比

評論