我使用 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 断开/卸载。
有人遇到过类似的问题吗?
有人遇到过类似的问题吗?
确实有。当拨打
tud_disconnect
时,我可以确认 tud_umount_cb
未被呼叫。这是使用 Pico SDK 1.5.1。
值得注意的是,如果您稍后致电
tud_connect
,我们将会致电 tud_mount_cb
。