RPi Pico 未收到 TinyUSB 卸载回调

问题描述 投票:0回答:1

我使用 C SDK 和 TinyUSB 在 Pico 上创建了简单的键盘。 TinyUSB需要定义一些回调函数,其中两个是

tud_mount_cb
tud_umount_cb
。第一个工作没有问题,插入 USB 后我看到了预期的 UART 日志。我发现当我从电脑上拔下 Pico 时,
tud_umount_cb
不会被调用:

// Invoked when device is unmounted
void tud_umount_cb(void)
{
    global_callback.mounted = false;
}

此外,我尝试拨打

tud_mounted
以及
tud_connected
,但都无法检测到 Pico USB 何时断开连接。

尝试了正常和回调 TinyUSB 功能。对 3 种不同的 Picos、1 种官方设计和 2 种 USB-C 变体进行了交叉检查。无论我尝试什么,Pico 似乎都无法检测到 USB 断开/卸载。

有人遇到过类似的问题吗?

c++ usb unmount rp2040
1个回答
0
投票

有人遇到过类似的问题吗?

确实有。当拨打

tud_disconnect
时,我可以确认
tud_umount_cb
未被呼叫。这是使用 Pico SDK 1.5.1。

值得注意的是,如果您稍后致电

tud_connect
,我们将会致电
tud_mount_cb

© www.soinside.com 2019 - 2024. All rights reserved.