USB通信协议源代码.docx
《USB通信协议源代码.docx》由会员分享,可在线阅读,更多相关《USB通信协议源代码.docx(25页珍藏版)》请在第一文库网上搜索。
1、做了一段时间的USB方面的开发,虽然是现成的方案,我们只需要弄清晰它的架构,再添加我们的代码就行了。空闲之余,研究了一下USB通信过程,也把82A851R部分的汇编代码重新用C语言描述了一篇(仅是描述,不代表能真正运营)。发现汇编代码条理性太在太差了,不好读。一把C语言的代码一写,立即觉得清晰诸多。废话少说,开始贴图,贴代码。二=下面是将某些函数重新用C语言描述了基本定*A义函数I*aBYTEFIFO_RD_CHECK(BYTEnum)aBYTEFIFO_F1AG=O;UCCI=num;/选择Endpoint,Oz1,2,3,4,MISC&=0xf8;低3位置0MISCI=OX00;/TX位置
2、0;ADe1ay_3us();M1SCI=OXO1;/SetReqUeSMDe1ay_28us()if(MISC80X40!=0)FIFO_F1AG=OxOf;/READYif(MISC&0x80!=0)FIFO.F1AG&=0xf0;/1e0DetectcaMISC&=0xfe;/c1earREQreturnFIFO_F1AG;aaBYTEFIFO_WR_CHECK(BYTEnum)(BYTEFIFO_F1AG=0;/后4位表达R号。dy位,前四位表达1en0位的状态与否有被设立AUCC|=num;选择Endpoit0,1,2z3,4,MISC&=OXf8;低3位置OAMISCI=OXO2;
3、/TX位置0;De1ay_3us();MISCI=0X01;/SetRequestDeIay_28us();if(MISC&0x80!=O)FIFO_F1AG&=OXfO;/1e1oDetectedMISC&=Oxfe;/c1erREQareturnF1FC1F1AG;AvoidRead_FIFO(BYTE*Fifo_AddrzBYTEFifo_Size,BYTE*buffer)(inti=0;MISCI=OxO1;/SetRequestafor(i=0;iFifo_Size;i+)abufferi=Fifo_Addr0;从FIFO地址取值DeIay_28US();Aif(MISC&0x40=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- USB 通信协议 源代码