vb2002 发表于 2024-12-1 23:24:50

用不停电下载的LIB文件的单片机,怎么用充电宝工作(已解决)

本帖最后由 vb2002 于 2024-12-2 10:19 编辑



bit flag_timefinish100ms=1;
    while ((DeviceState != DEVSTATE_CONFIGURED) && (!flag_timefinish100ms));   //等待USB完成配置
{
delayms(10);
}

完美通过等待usb完成配置

平常我用下载器写的代码

写好以后,直接用充电宝供电,就可以直接工作
但是我用不停电下载那样的,插充电宝上面不能直接工作
有什么办法吗? 还是必须要改代码,剔除掉不停电下载那部分.

比如我用一箭双雕连接单片机,写了个 闹钟代码!从电脑上面拔了. 直接用充电宝就可以工作


但是我直接用一箭双雕 弄成不停电下载,写了个闹钟代码, 插上充电宝,就不能工作.

邮箱 发表于 2024-12-1 23:30:44

使用了usb库?

vb2002 发表于 2024-12-1 23:39:21

邮箱 发表于 2024-12-1 23:30
使用了usb库?

是的,不停电下载要用到库

邮箱 发表于 2024-12-1 23:44:10

vb2002 发表于 2024-12-1 23:39
是的,不停电下载要用到库

//    usb_init();                                     //USB CDC 接口配置
//    IE2 |= 0x80;                                    //使能USB中断
//    while (DeviceState != DEVSTATE_CONFIGURED);   //等待USB完成配置

soma 发表于 2024-12-2 00:15:07

估计使用的是有协议的充电宝吧,只能屏蔽不断电下载了。

vb2002 发表于 2024-12-2 00:18:05

邮箱 发表于 2024-12-1 23:44
//    usb_init();                                     //USB CDC 接口配置
//    IE2 |= 0x80;      ...

刚我试了,屏蔽掉确实可以了
不停电下载能做调试方便{:5_270:}

vb2002 发表于 2024-12-2 00:18:25

soma 发表于 2024-12-2 00:15
估计使用的是有协议的充电宝吧,只能屏蔽不断电下载了。

不是的,库的问题

王昱顺 发表于 2024-12-2 01:29:16

vb2002 发表于 2024-12-2 00:18
不是的,库的问题

其实是卡在等待usb配置完成上了,因为没接实际的usb主机,芯片就一直等着

jwd 发表于 2024-12-2 08:08:48

可以使用个超时设定,如果时间超过跳出usb配置

jwd 发表于 2024-12-2 08:10:05

        while ((DeviceState != DEVSTATE_CONFIGURED) && (!flag_timefinish100ms))   //等待USB完成配置        超时检测(这是不插USB线会卡在这里)
        {       
                Delay_100ms (20);
        }
我是这样处理的
页: [1] 2 3
查看完整版本: 用不停电下载的LIB文件的单片机,怎么用充电宝工作(已解决)