完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,我开发了PIC16LF1459固件,它就像一个“USB HID键盘+HID通用设备”。我开始基于MLA项目“hid_.”进行编码。这个PIC16LF1459是在一个x86主板上设计的。PIC16LF1459IS的目的是扫描键盘按钮输入。如果按下任何按钮,固件会向PC发送键盘扫描码。到目前为止固件功能还可以。但是,如果PC在Windows操作系统中进入挂起模式,我的PIC也会进入USB挂起。在挂起模式下,通用的USB键盘可以唤醒PC从挂起,但是PIC不能唤醒PC。In C代码,它似乎可以发出一个恢复信号(见下面的代码段)。但是我不知道固件需要发送什么样的恢复信号。PIC与PC之间的接口是USB接口,如何唤醒唤醒扫描码作为通用键盘设备?MAIN_RETURN main(void){SYSTEM_Initialize(SYSTEM_STATE_USB_START);USBDeviceInit();USBDeviceAttach();: .(1){:/*,如果我们当前被挂起,那么我们需要查看是否需要*发出远程唤醒。无论哪种情况,我们都不应该处理任何*键盘命令,因为我们当前没有与主机*通信,因此继续返回while循环的开始。*/if(USBIsDeviceSuspended() ==true){//检查我们是否应该向USB主机断言远程唤醒请求,//当用户按下按钮时。如果(ButoNoSISBASE(ButoNo.UbjDeice,ReaveTeX WaKeUp)=0){//在这里添加代码来发出恢复信号。} /*跳回while循环的顶部。* /继续;} /应用程序特定任务AppHyDeCiCuSuthIdTaskask();}/ /结束,同时/ /结束主键
|
|
相关推荐
5个回答
|
|
去年在那里,这是一个痛苦…我不能帮助太多在这里,因为我正在使用旧的堆栈为USB。基本上,我们遇到了PIC进入睡眠的问题(由于PC的挂起),并且我们没有tkeys来唤醒它。所以,第一期。解决了。然后,为了唤醒Microchip的“信令”代码或多或少地完成了工作,我们可能会稍微调整一下:我可以看到上面有一个注释“add here Resume.”,但是……没有…
|
|
|
|
我没有使用它,但是数据表说:“UCON寄存器的RESUME位通过执行Resume信令配置外围设备来执行远程唤醒。为了生成有效的远程唤醒,固件必须设置10毫秒的恢复位,然后自动清除位。有关“恢复信令”的更多信息,请参见USB 2规范。
|
|
|
|
完美!USB 2规范或2.7栈中的代码片段:
|
|
|
|
感谢!USBCBSendResume函数可以在MLA文件夹appsgfxapp_notes固件src._programmeru***_callback.c中找到。我将把代码移动到我的项目中并测试它。你知道我是否需要修改USB配置描述符以支持远程唤醒功能?
|
|
|
|
好的,嗯,是的,我在PowerConsu.之前的参数中有它,像这样:_DEFAULT/*|_SELF*/|_RWU,//Attributes,参见u***defs_std_dsc.h 70,//MaxPower(以2mA为单位);自供电从总线中抽取0mA。
|
|
|
|
只有小组成员才能发言,加入小组>>
5082 浏览 9 评论
1955 浏览 8 评论
1890 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3118 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2189 浏览 5 评论
636浏览 1评论
512浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
375浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
541浏览 0评论
442浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-2 22:00 , Processed in 1.217467 second(s), Total 85, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号