初始化和掛載SD卡:首先設置SPI和CS引腳,創建SD卡的物件,然後將其掛載到文件系統。
列出SD卡內容:列出並顯示SD卡根目錄下的所有文件和文件夾。
寫入文件:在SD卡上創建一個新文件newfile.txt,並寫入一些文字。
讀取文件:打開剛才寫入的文件,讀取並顯示其內容。
刪除文件:刪除在SD卡上創建的newfile.txt文件。
卸載SD卡:在完成所有操作後,從系統中卸載SD卡,這是一個好習慣,尤其在執行寫入操作後。
import os
import machine
import sdcard
# 初始化SPI和SD卡
spi = machine.SPI(1, sck=machine.Pin(14), mosi=machine.Pin(15), miso=machine.Pin(2))
cs = machine.Pin(13) # 設定CS引腳
sd = sdcard.SDCard(spi, cs) # 創建SD卡物件
# 掛載SD卡
os.mount(sd, '/sd')
print('SD card mounted at "/sd"')
# 列出SD卡根目錄下的文件和文件夾
print('Files and folders on SD card:', os.listdir('/sd'))
# 寫入文件到SD卡
file_path = '/sd/newfile.txt'
with open(file_path, 'w') as file:
file.write("Hello, world from ESP32!")
print("File written successfully at", file_path)
# 讀取SD卡上的文件
with open(file_path, 'r') as file:
content = file.read()
print("Read from file:", content)
# 刪除SD卡上的文件
os.remove(file_path)
print("File removed:", file_path)
# 卸載SD卡
os.umount('/sd')
print('SD card unmounted')
執行會出現MPY: soft reboot
SD card mounted at "/sd"
Files and folders on SD card: ['System Volume Information']
File written successfully at /sd/newfile.txt
Read from file: Hello, world from ESP32!
File removed: /sd/newfile.txt
SD card unmounted
即表示成功
是的,從您提供的輸出信息來看,您的程式碼已經成功地在ESP32設備上執行了預期的操作:
SD卡成功掛載:SD card mounted at "/sd" 表示SD卡已成功被掛載在指定的掛載點。
列出SD卡內容:顯示SD卡根目錄下有一個名為 System Volume Information 的文件夾,這是Windows系統自動創建的隱藏文件夾,用來存放系統恢復和其他系統級別的資訊。
文件寫入成功:File written successfully at /sd/newfile.txt 說明新文件已經被成功創建並寫入了預設的文字。
文件讀取成功:Read from file: Hello, world from ESP32! 顯示程序已成功讀取之前寫入的文件,並正確地回顯了其內容。
文件刪除成功:File removed: /sd/newfile.txt 表示創建的文件已經被成功刪除。
SD卡成功卸載:SD card unmounted 表示在完成所有操作後,SD卡已從系統中正確卸載。
根據這些結果,您的程式碼運行完全正確,所有的檔案操作都已如預期般執行。這證明您的SD卡驅動、文件系統操作以及ESP32的SPI通訊都配置正確,且您的腳本執行環境穩定。