下载此文档

USB通信协议源代码.docx


文档分类:IT计算机 | 页数:约43页 举报非法文档有奖
1/43
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/43 下载此文档
文档列表 文档介绍
做了一段时间的USB方面的开发,虽然是现成的 方案,我们只需要搞清楚它的架构,再添加我们的代码 就行了。空闲之余,研究了一下USB通信过程,也把 82A851R部分的汇编代码重新用C语言描述了一篇(仅
是描述,不代表能真正运行)。发现汇编代码条理性太
在太差了,不好读。一把C语言的代码一写,马上觉
得清楚很多。废话少说,开始贴图,贴代码。
He,««
iro^mwsT**)
^
«10
irojWUTd
EMM杆•轉
z —
;CMJS *~1
rfni
:
mm
•rmg
VIFO
TTTt-W
nn
7TFW9
3tF©
Et3肌
7IW
TY«>»i
viro
7TTP41
刃”


s卄
VfM41tC>
—>» MMW1-
I V«1W4
el
叽卜
&Wl tM«rr«e«
L
:< • .-:<■» L c-.'-t* i<- i-
nro
FIFO
>!F6
UMffcU
Piro
UWKHII)
FIFO
BXSXW,
4 C««rXm
二 j ?
T “a &

下面是将一些函
数重新用C语言描述了一遍
#define BYTE unsigned char
f /
/ / ^| w T^ g^ j^ ^T ^p、^f、T^ T^ T^ T^ ^T T1^ T^ T^ T^ T^ T^ ^T
//
基本定义函数
/ /
/ / j^ j^ ^p、j^ j^ T^ ^p、T^ j^ T^ j^ ^T T1^ j^ T^ ^p、T^ j^ T^ ^T T^ T^ ^T T1^ T^ T^ T^
BYTE FIFO_RD_CHECK (BYTE num)
{
BYTE FIFO_FLAG=O;
UCC|=num;//选择 Endpoint, 0, 1,2, 3, 4,
MISC&=0xf8;//低 3 位置 0
MISC| =0X00;//TX 位置 0;
De I ay_3us ();
Ml SC|=0X01;//Set Request
De I ay_28us ();
if (MlSC&0X40匸0) FlF0_FLAG=0x0f;/
/READY
if (MlSC&0x80!=0) FlF0_FLAG&=0xf0;
//LenO Detected
MISC&=Oxfe;//clear REQ
void Read FIF0 (BYTE *Fifo_Addr,BYTE
return FIFO_FLAG;
void Read FIF0 (BYTE *Fifo_Addr,BYTE
BYTE FIFO_WR_CHECK (BYTE num)
{
BYTE FI FO_FLAG=O;//后 4 位表示 Ready 位,
前四位表示LenO位的状态是否有被设置
UCC|=num;//选择 Endpoint, 0, 1,2, 3, 4,
MISC&=0xf8;//低 3 位置 0
MISC| =0X02;//TX 位置 0;
De I ay_3us ();
Ml SC|=0X01;//Set Request
De I ay_28us ();
if (MISC&0X40!=0)
FIFO_FLAG=OxOf;/
/READY
if (MISC&0x80!=0)
FIFO_FLAG&=Oxf0;
//LenO
Detected
MISC&二Oxfe;//cI ear
REQ
}
return FIFO FLAG;
Fifo_Size,BYTE *buffer)
int i二0;
Ml SC|=0x01;//Set Request
for(i二0;i<Fifo_Size;i++)
{
buffer[i]=Fifo_Addr[0];//从 FIFO
地址取值
De I ay_28us ();
if (MlSC&0x40=0) break;//N
ot Ready
}
Ml SC工0X02;//改变TX位状态
De I ay_3us ();
MISC&^OXFE;//CIear Request
}
void Write_FIF0(BYTE *Fifo_Addr, BYTE
SendLenth,BYTE *buffer)
{
int i=0;
Ml SC|=0X01;//Set Re

USB通信协议源代码 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数43
  • 收藏数0 收藏
  • 顶次数0
  • 上传人guoxiachuanyue
  • 文件大小93 KB
  • 时间2021-09-12