完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我不太满意微芯片USB固件,我想自己做。在阅读了USB规范和PIC18f4550数据表之后,现在我明白了一切是如何工作的,并且我需要实现USB通信。现在,我已经做了一个简单的程序,开始进入我的大门。它由程序的main.c和某些定义的u***.h组成.main.c:u***.h:我的配置是:内部振荡器禁用4MHz XT微控制器核心的外部振荡器和从PLL输出的48MHZ来驱动USB时钟全速USB。无论我把设备连接到USB端口。我得出结论,它试图重置USB 3或4次,每次都跟着一个位错误,然后它就永久关闭。现在,我的问题是,每当我试图添加代码来检查BD0STAT<5:2>位,以检查从USB发送的任何PID时,我总是发现它是0000,当我试图添加代码来检查BD0STAT<5:2>位时,同样的情况也会发生。读取PKTDIS位(UCON & lt;1 & gt)以检查任何设置令牌,我发现它是0。所以,我成功地接收了重置,但是为什么我不接收任何安装包?另外,我还有一个问题,PIC自己发送ACK包,还是需要在BD1STAT中设置相应的PID位?
|
|
相关推荐
3个回答
|
|
我放弃了阅读在这一点上你的文章。我总的立场是,我不;不喜欢在微芯片装置的各种外设库或预定义的堆栈直接对话,然后是直线前进。但是有两个例外:TCP和USB接口已经成功地使用了从许多设备芯片的USB协议栈(如“装置”和“主机”)但我不会尝试与嵌套的状态机代码提供了与硬件接口的竞争。这是有点复杂,但最主要的是,它在API级别的作品。苏珊
|
|
|
|
事实上,我发现它非常复杂,文档对于那个特定的控制器是不够的。此外,我已经阅读了规范,我可以写的固件,问题是从PIC本身。我根本不知道安装包。我写的代码遗漏了什么吗?
|
|
|
|
是的,使用现有代码要容易得多。但是,它可能是一个很好的实验第一:写入LATX,而不是PORTX。
|
|
|
|
只有小组成员才能发言,加入小组>>
5183 浏览 9 评论
2005 浏览 8 评论
1932 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3178 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2229 浏览 5 评论
739浏览 1评论
626浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
510浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
637浏览 0评论
535浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 00:55 , Processed in 1.152554 second(s), Total 52, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号