完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
大家好,我有不同的简单硬件使用PIC16F1455和PIC18F14K50。最小的USB连接,一个按钮,一个LED,与LPCUSB 16F1459或LPCUSB 18F14K50的原理相同。USB挂起电流与来自MLA(小于1mA)的2个HID引导加载程序没有关系,但是与来自MLA的几个示例没有关系,MLA使用cdc-basic、HID-.、HID-Keyboard(在PIC18F14K50上大约10mA,在PIC16F1455上为4.5mA)进行了测试。led是关闭的,我在USER_USB_CALLBACK_EVENT_HANDLER(EVENT_SUSPEND...)中添加了从引导加载器中选择的睡眠内容。没有其他的I/O使用。在MLA中,引导加载程序USB堆栈不同于其他USB示例中使用的堆栈,可能是堆栈问题。我甚至试图禁用在我的应用程序中使用的计时器,我们没有结果。有什么想法?
|
|
相关推荐
4个回答
|
|
有没有人测量过USB挂起电流?
|
|
|
|
显然,你测量的HID引导装载器下降到1Ma,这应该是可能的,其余的也是如此。它真的让装置睡着了吗?睡眠电流应在1Ma以下。
|
|
|
|
是的,引导加载程序使设备处于休眠状态。我没有对所有的引导装载程序代码进行修改。但是,我的硬件有一个设备,负载不到1毫安,这是可以的。问题是MLA的其他例子。他们不包括睡眠的东西,所以我从引导加载程序,没有任何效果。此外,USB框架在BooDrad和其他MLA实例之间略有不同。
|
|
|
|
如果我们查看MLA HID-bootloader和其他MLA USB示例(CDC、HID-键盘、HID-customic等等)的文件“u***_descriptors.c”,配置描述符具有不同的“bmAttributes”字段,该字段指定设备是总线供电的还是自供电的。“.utes”设置为_DEFAULT,这意味着它打算由总线供电(这就是为什么它通过进入休眠模式来处理USB挂起状态比其他USB示例更好/更安全)。而在其他USB示例中,“bmAttributes”设置为_DEFAULT|_SELF,这意味着它打算自供电。由于很可能通过从MLA示例(不是从头开始)构建项目,假设设备是总线供电的,那么设备可以连接到其他外围设备或任何其他外部电路,当设备sti时,很难实现USB挂起电流(2.5mA)。因此在MLA USB的例子中,他们可能只是这样而已,没有很好地处理USB挂起电流,因为设备将自动供电。“函数”,在文件“UbxDealth.c”行2281。如果需要的话,建议用户实现函数“UCBCBStayEnter()”。根据需要,如果用户希望使用MLA USB示例来总线供电而不是自供电,并且要遵守USB标准(在USB挂起时将电流限制到最大2.5mA),那么让我们通过实现“USBCBSuspend()”函数来放置额外的预防措施并调用函数当主机暂停设备时,代码中的某个地方。
|
|
|
|
只有小组成员才能发言,加入小组>>
5166 浏览 9 评论
2000 浏览 8 评论
1928 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3174 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2226 浏览 5 评论
734浏览 1评论
615浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
506浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
631浏览 0评论
528浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 17:12 , Processed in 1.209778 second(s), Total 84, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号