maixpy m1 dock tf卡脱机运行读取失败怎么办(已解决)
## maixpy m1 dock tf卡脱机运行读取失败怎么办(已解决)## 问题详情
我在maixpy ide上写好程序,点击“将打开的脚本保存到开发板的boot.py”按钮后,程序下载到了tf卡上,但是脱机运行不了,显示白屏lcd然后显示welcome to maixpy 红色屏幕。用读卡器读取TF卡也可以看到boot.py 和main.py 文件已经在内存卡里了。刚买的闪迪内存卡,规格和官方搭配的一样,烧了两次程序就出现这种情况。以下是main.py里代码
```
from fpioa_manager import *
import os, Maix, lcd, image
from Maix import FPIOA, GPIO
test_pin=16
fm.fpioa.set_function(test_pin,FPIOA.GPIO7)
test_gpio=GPIO(GPIO.GPIO7,GPIO.PULL_UP)
lcd.init(color=(255,0,0))
lcd.draw_string(lcd.width()//2-68,lcd.height()//2-24, “Welcome to MaixPy”, lcd.WHITE, lcd.RED)
v = sys.implementation.version
lcd.draw_string(lcd.width()//2-70,lcd.height()//2+12, ‘V{}.{}.{} : maixpy.io’.format(v,v,v), lcd.WHITE, lcd.RED)
del v
if test_gpio.value() == 0:
print(‘PIN 16 pulled down, enter test mode’)
lcd.clear(lcd.PINK)
lcd.draw_string(lcd.width()//2-68,lcd.height()//2-4, “Test Mode, wait …”, lcd.WHITE, lcd.PINK)
import sensor
import image
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
lcd.freq(16000000)
while True:
img=sensor.snapshot()
lcd.display(img)
```
非脱机可以运行,这样是不是说明boot.py没有问题(代码没有问题)sd卡是fat32模式也是MBR分区,已经使用os.listdir('‘/’'),显示sd卡挂载成功。
是不是和tf卡分区有关呢?不太懂请大佬讲解下
## 解决方法
使用前,请先通过串口确认硬件脱机运行发生了什么?
用 DG 分区工具或分区助手进行 硬盘主引导记录 的格式化,选择为 MBR ,确保能够被 K210 的 SPI 驱动 SD / TF 卡。
如果发现无法挂载 SD 的提示,则表示是 硬盘主引导记录 存在问题了。
但并不是每一个卡都可以被驱动起来,如果驱动不起来,在调用 os.getcwd() 的时候仍然是 flash 目录。
接着你需要格式化一个 FAT 格式的分区,这个分区会被默认加载到 sd 目录,事实上是允许多个分区加载的,但一般人不看代码不知道。
所以确保了 SD 卡能够被加载上后,你再来看你的 boot.py 程序是否在运行的过程中出现了错误。
然后把这个错误发出来,没有人可以通过代码发现你代码出现了什么错误,因为没有人能复现你当时的硬件/固件/代码/场景/报错,所以你只给代码是没有意义的。
我们不能把脱机运行和在线运行划上等号,因为程序可能回出现bug,我们应该关注的是脱机运行出现了什么错误,因为你的代码是从示例代码抄来的,可以说漏洞百出。
页:
[1]