用不停电下载的LIB文件的单片机,怎么用充电宝工作(已解决)
本帖最后由 vb2002 于 2024-12-2 10:19 编辑bit flag_timefinish100ms=1;
while ((DeviceState != DEVSTATE_CONFIGURED) && (!flag_timefinish100ms)); //等待USB完成配置
{
delayms(10);
}
完美通过等待usb完成配置
平常我用下载器写的代码
写好以后,直接用充电宝供电,就可以直接工作
但是我用不停电下载那样的,插充电宝上面不能直接工作
有什么办法吗? 还是必须要改代码,剔除掉不停电下载那部分.
比如我用一箭双雕连接单片机,写了个 闹钟代码!从电脑上面拔了. 直接用充电宝就可以工作
但是我直接用一箭双雕 弄成不停电下载,写了个闹钟代码, 插上充电宝,就不能工作.
使用了usb库? 邮箱 发表于 2024-12-1 23:30
使用了usb库?
是的,不停电下载要用到库 vb2002 发表于 2024-12-1 23:39
是的,不停电下载要用到库
// usb_init(); //USB CDC 接口配置
// IE2 |= 0x80; //使能USB中断
// while (DeviceState != DEVSTATE_CONFIGURED); //等待USB完成配置
估计使用的是有协议的充电宝吧,只能屏蔽不断电下载了。 邮箱 发表于 2024-12-1 23:44
// usb_init(); //USB CDC 接口配置
// IE2 |= 0x80; ...
刚我试了,屏蔽掉确实可以了
不停电下载能做调试方便{:5_270:} soma 发表于 2024-12-2 00:15
估计使用的是有协议的充电宝吧,只能屏蔽不断电下载了。
不是的,库的问题 vb2002 发表于 2024-12-2 00:18
不是的,库的问题
其实是卡在等待usb配置完成上了,因为没接实际的usb主机,芯片就一直等着 可以使用个超时设定,如果时间超过跳出usb配置 while ((DeviceState != DEVSTATE_CONFIGURED) && (!flag_timefinish100ms)) //等待USB完成配置 超时检测(这是不插USB线会卡在这里)
{
Delay_100ms (20);
}
我是这样处理的