无法显示摄像头画面(包括电容屏和缓冲区)

Viewed 76

问题描述


零一科技最新固件,摄像头硬件能正常采集:程序成功识别 GC2093;单独拍照保存的 640×480 JPEG 也能正常显示、不是白图。
但是通过运行多个官方例程以及直接通过c口连接电脑打开IDE,都无法正常展示画面,运行的例程包括2-1(机器视觉-摄像头)、2-2-1(机器视觉-屏幕显示-IDE显示)、2-2-3(机器视觉-屏幕显示-MIPI屏幕)。
IDE尝试过原生版本和vscode插件版本。

已经让gpt5.6尝试修复无果了,尝试过的修复方向包括:


确认板子为 01Studio K230 1G,摄像头为 GC2093 CSI2,固件为官方最新版 v1.8。

排查 COM5 端口占用,关闭重复的 VS Code 窗口、CanMV 后端和 MCP 会话。

修改 camera.py 为 640×480 RGB565,加入资源释放、帧率统计,并将 IDE JPEG 质量降到 50。

连续运行摄像头采集,程序处理了 1300 多帧,约 87 FPS,没有采集错误。

单独拍摄并保存了一张 640×480 JPEG,下载检查后确认图像有效且不是白图。

用不含摄像头的纯合成画面反复调用 Display.show_image(),确认显示循环本身能持续运行。

分别使用 VS Code 扩展和 CanMV MCP 测试预览。

VS Code 只收到第 1 帧,约 4 秒后预览看门狗开始反复停止、重启预览。

检查扩展日志,发现反复重启后出现 short read,预览协议从 v2 失步成 v0。

排查过设备文件树的 io.listDir 并发读取,但干净测试中即使没有它,白屏仍然存在。

测试了 quality=50、移除手工帧率限制、移除循环中的 os.exitpoint(),问题仍未解决。

检查了 CanMV 扩展源码,定位了电脑端预览看门狗及 MCP 可能重复发送 startPreview 的逻辑。

核对了官方固件下载页、扩展版本和发布时间。

复现步骤


烧录最新镜像后直连电脑ide即可浮现

硬件板卡


01科技

软件版本


CanMV_K230_01Studio_micropython_v1.8-0-gc2d1f5c_nncase_v2.11.0.img

1 Answers

你好,请问你用的什么版本的固件,和canmv插件,以及系统版本

您好,感谢回复!
我的固件版本是CanMV_K230_01Studio_micropython_v1.8-0-gc2d1f5c_nncase_v2.11.0.img;
系统版本是win11和mac26(都做过尝试);
插件版本是0.9.0。

烧录一下daily build看看,以及测试执行其他不带sensor的脚本

dailybuild烧录完成,具体版本号为CanMV_K230_01Studio_micropython_v1.8-2-gdb23dc4_nncase_v2.11.0.img.gz,再次测试依然和上次一样,不显示画面;已测试电容屏触摸脚本、触摸屏显示文字脚本均返回正常。