故障排除

使用 CircuitPython 时,有时会发生错误。以下是可能发生的各种错误、它们的含义以及如何修复它们。

文件系统问题

如果您的主机开始抱怨您的CIRCUITPY驱动器已损坏或文件无法覆盖或删除,则您必须将其完全擦除。当 CircuitPython 重新启动时,它将创建一个新的空CIRCUITPY 文件系统。

CIRCUITPY磁盘在通过按钮重置或与 USB 断开连接之前未安全弹出时,这通常发生在 Windows上。这也可能发生在 Linux 和 Mac OSX 上,但可能性较小。

警告

要擦除和重新创建 CIRCUITPY(例如,更正损坏的文件系统),请遵循以下过程之一。请务必注意,存储在 CIRCUITPY 驱动器上的任何文件都将被删除

对于 存储在单独 SPI 闪存芯片上的开发板 CIRCUITPY ,例如 Feather M0 Express、Metro M0 Express 和 Circuit Playground Express:

  1. the Adafruit_SPIFlash repo下载适当的 flash .erase uf2 。

  2. 双击重置按钮。

  3. 将相应的 .uf2 复制到 xxxBOOT 驱动器。

  4. 板载 NeoPixel 将变为蓝色,表示擦除已开始。

  5. 大约 15 秒后,NexoPixel 将开始闪烁绿色。如果它闪烁红色,则擦除失败。

  6. 再次双击并加载适当的CircuitPython .uf2.

对于没有 SPI 闪存的开发板,例如 Feather M0 Proto、Gemma M0 和 Trinket M0:

  1. the Learn repo下载适当的 erase .uf2 。

  2. 双击重置按钮。

  3. 将相应的 .uf2 复制到 xxxBOOT 驱动器。

  4. 启动 LED 将再次开始闪烁,并且 xxxBOOT 驱动器将再次出现。

  5. 加载适当的CircuitPython .uf2.

值错误: .mpy 文件不兼容。

当导入存储为mpy二进制文件(而不是py文本文件)的模块时,会发生此错误,该文件由与加载到的 CircuitPython 版本不同的版本生成。大多数版本都兼容,但很少兼容。特别是,mpyCircuitPython 版本 1.x 和 2.x、2.x 和 3.x 之间的二进制格式发生了变化,并将在 6.x 和 7.x 之间再次更改。

因此,例如,如果您刚刚从 6.x 升级到 CircuitPython 7.x,则需要下载在 .x 上触发错误的更新版本的库import。它们都在 Adafruit 捆绑包 社区捆绑包中提供。确保下载文件名中包含 7.0.0 或更高版本的版本。