
我先用这玩意把sd卡格式化了
FAT32哈
然后插入m5
https://www.jianshu.com/p/32f998e8674c
接着参考这篇

>>> os.mountsd()
W (121709) sdspi_host: spi bus changed (1 -> 2)
---------------------
Mode: SPI
Name: SU08G
Type: SDHC/SDXC
Speed: default speed (25 MHz)
SPI speed: 20 MHz
Size: 7580 MB
CSD: ver=1, sector_size=512, capacity=15523840 read_bl_len=9
SCR: sd_spec=2, bus_width=5
>>>>>> os.listdir('/')
['flash', 'sd']
>>> os.listdir('/sd')
['System Volume Information', 'A.TXT']
>>> os.rename('/sd/A.TXT','/sd/B.TXT')
>>> os.listdir('/sd')
['System Volume Information', 'B.TXT']
>>>>>> os.umountsd()打开在线IDE
然后发现以上都是扯淡:

图形编程下加载了模块后
得到的才是最爽的代码
import os, sys, io
import M5
from M5 import *
from hardware import sdcard
def setup():
M5.begin()
Widgets.fillScreen(0x222222)
sdcard.SDCard(slot=2, width=1, sck=36, miso=35, mosi=37, cs=4, freq=1000000)
print(os.listdir('/sd//'))
def loop():
M5.update()
if __name__ == '__main__':
try:
setup()
while True:
loop()
except (Exception, KeyboardInterrupt) as e:
try:
from utility import print_error_msg
print_error_msg(e)
except ImportError:
print("please update to latest firmware")

所以看了一下代码,其实sd卡,这个时候就可以访问了
头像最好的效果是:
image0 = Widgets.Image("res/img/Face_1.png", 80, 30, scale_x=2, scale_y=2)import os, sys, io
import M5
from M5 import *
from hardware import sdcard
image0 = None
image1 = None
def setup():
global image0,image1
M5.begin()
Widgets.fillScreen(0x222222)
image0 = Widgets.Image("res/img/default.png", 80, 30, scale_x=2, scale_y=2)
try:
sdcard.SDCard(slot=2, width=1, sck=36, miso=35, mosi=37, cs=4, freq=1000000)
except Exception as e:
print(e)
print(os.listdir('/sd//'))
def loop():
global image0,image1
M5.update()
def update_img():
global image0,image1
print("I am in update_img")
image1 = Widgets.Image("res/img/Face_1.png", 80, 30, scale_x=2, scale_y=2)
if __name__ == '__main__':
try:
setup()
while True:
loop()
except (Exception, KeyboardInterrupt) as e:
try:
from utility import print_error_msg
print_error_msg(e)
except ImportError:
print("please update to latest firmware")
播放SD卡上的音频都是OK的
import os, sys, io
import M5
from M5 import *
from hardware import sdcard
from audio import Player
import time
image0 = None
player = None
def setup():
global image0, player
M5.begin()
Widgets.fillScreen(0x222222)
image0 = Widgets.Image("res/img/default.png", 2, 3, scale_x=1, scale_y=1)
sdcard.SDCard(slot=2, width=1, sck=36, miso=35, mosi=37, cs=4, freq=1000000)
print(os.listdir('/sd//'))
player = Player(None)
player.play("file://sd/Neon Nights.mp3", pos=0, volume=100, sync=True)
player.stop()
time.sleep_ms(1000)
player.resume()
def loop():
global image0, player
print("in the loop")
M5.update()
if __name__ == '__main__':
try:
setup()
while True:
loop()
except (Exception, KeyboardInterrupt) as e:
try:
from utility import print_error_msg
print_error_msg(e)
except ImportError:
print("please update to latest firmware")
但是很奇怪,
sdcard.SDCard(slot=2, width=1, sck=36, miso=35, mosi=37, cs=4, freq=1000000)这一句会报错
然后之后就会影响后续的ImageWeight的渲染
这个东西太不稳定了