嗨对话框,我正在研究一个实施DA14681的定制董事会,我的系统包括狮子电池和USB CDC接口。因此,我使用USB枚举和充电器。但是,在没有初始的USB电缆(例如,手机充电器)时,我的系统在枚举或暂定枚举后崩溃,因此电池未充电。我应该在USB CDC回调中有一些中断吗?谢谢你的帮助。
嗨mathew.我们在Prodk上测试了这种情况。我们使用了USB_CDC示例,就像最新SKD v.1.0.10.1072中的框中一样。该示例实现了CDC串行,并为电池充电(如果存在)。我们将锂电池连接到子板底部的按钮电池导线,以验证充电。我们用:
在所有情况下,操作都是正确的,并且没有观察到崩溃或电池充电故障。您不需要在CDC中进行任何中断。所有内容都在充电器和USB代码中处理。如果我们的理解是正确的,您在您的董事会上有此问题,请正确?如果是这种情况,您可以使用对话框Prodk尝试同一方案吗?请检查设计中使用的选修设计和连接器。USB连接需要几种限制。如果您使用某种磨砂,请注意,符合USB标准,VBUS和GND引脚必须比D + / D长2毫米 - 以便首先连接。最后(在D + / D之前)进行连接。)符合ESB和USB设计要求。在没有GND的情况下连接D + / D-和VBU的情况下,硅的ESD保护将启动和OU可能会观察系统的复位甚至暂时禁用USB子系统。剪相:CDC示例在1.0.10.1072 SDK中没有问题,CDC实施或充电没有问题。在SDK 1.0.8中,CDC中有错误固定在拔下设备时触发,这将导致系统崩溃。这是在1.0.10 SDK中修复的。我们建议您搬到1.0.10 SDK,因为它包括错误修复和改进。此致。
嗨对话框,我将代码迁移到SDK10,没有改进,但是,我确实检查了USB_CDC代码,似乎固件块在等待USB的时候在任务开始时配置,删除此循环似乎可以在我的情况下为USB,没有枚举。谢谢你的帮助。
嗨mathieuw。
你删除了哪些条件?
巫术是有原因的。删除它们是不安全的。
CNA你发布了代码片面吗?
Br / Nikos V.
亲爱的尼科斯,我不知道为什么,但System_charger启动USB CDC任务,而枚举则为枚举。
这是循环我在USB_CDC任务中发表评论,因为任务不等待通知并重新执行,一切都似乎很好。
而(1){......
/ *等待配置* /// whis((usbd_getstate()&(usb_stat_configured | usb_stat_suspended))!= usb_stat_configured)// usb_os_delay(10);
此致Matthieu.
嗨mathew.
我们在Prodk上测试了这种情况。
我们使用了USB_CDC示例,就像最新SKD v.1.0.10.1072中的框中一样。
该示例实现了CDC串行,并为电池充电(如果存在)。
我们将锂电池连接到子板底部的按钮电池导线,以验证充电。
我们用:
在所有情况下,操作都是正确的,并且没有观察到崩溃或电池充电故障。
您不需要在CDC中进行任何中断。
所有内容都在充电器和USB代码中处理。
如果我们的理解是正确的,您在您的董事会上有此问题,请正确?
如果是这种情况,您可以使用对话框Prodk尝试同一方案吗?
请检查设计中使用的选修设计和连接器。
USB连接需要几种限制。
如果您使用某种磨砂,请注意,符合USB标准,VBUS和GND引脚必须比D + / D长2毫米 - 以便首先连接。最后(在D + / D之前)进行连接。)符合ESB和USB设计要求。
在没有GND的情况下连接D + / D-和VBU的情况下,硅的ESD保护将启动和OU可能会观察系统的复位甚至暂时禁用USB子系统。
剪相:CDC示例在1.0.10.1072 SDK中没有问题,CDC实施或充电没有问题。
在SDK 1.0.8中,CDC中有错误固定在拔下设备时触发,这将导致系统崩溃。
这是在1.0.10 SDK中修复的。
我们建议您搬到1.0.10 SDK,因为它包括错误修复和改进。
此致。
嗨对话框,
我将代码迁移到SDK10,没有改进,
但是,我确实检查了USB_CDC代码,似乎固件块在等待USB的时候在任务开始时配置,
删除此循环似乎可以在我的情况下为USB,没有枚举。
谢谢你的帮助。
嗨mathieuw。
你删除了哪些条件?
巫术是有原因的。删除它们是不安全的。
CNA你发布了代码片面吗?
Br / Nikos V.
亲爱的尼科斯,
我不知道为什么,但System_charger启动USB CDC任务,而枚举则为枚举。
这是循环我在USB_CDC任务中发表评论,因为任务不等待通知并重新执行,一切都似乎很好。
而(1){
......
/ *等待配置* /
// whis((usbd_getstate()&(usb_stat_configured | usb_stat_suspended))!= usb_stat_configured)
// usb_os_delay(10);
此致
Matthieu.