保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

采用PDIUSBD12的USB系统固件程序设计


{ Setup_read();

Setup_control();

}

else

{ Setup_read();

}

}

else if(ist & 0x02)//ENDP0_IN

{ XmtBuff.in=1;

D12_COMMAND=0x41;//读in最后状态

ist=D12_DATA;

USB_submit();

}

else if(ist & 0x04)//ENDP1_OUT

{ XmtBuff.out=2;

XmtBuff.in=3;

D12_COMMAND=0x42;//读out最后状态

ist=D12_DATA;

read_out();

}

else if(ist & 0x08)//ENDP1_IN

{ XmtBuff.in=3;

D12_COMMAND=0x43;//读in最后状态

ist=D12_DATA;

XmtBuff.b[0]=5;

XmtBuff.wrLength=1;

XmtBuff.p=XmtBuff.b;

USB_submit();

}

……

在发出连接USB命令后,主机先读取设备描述符,然后发出设置USB地址SETUP包,设置USB地址后,进行主机客户驱动与设备初始化。其余端点(ENDPOINT)依此类推。

在其头文件里需定义USB规范中的各种描述符格式,包括设备描述表、配置描述表、接口描述表、端点描述表、字符串描述表以及描述表类型。这样,在发送配置[,接口(1),端点(1),接口(2),端点(2),…,类,厂商等]联合描述表时,主机USBD可以根据描述类型标识区分各种分描述表。

下面是固件程序的主循环部分:

#include<reg51.h>

//指向外部D12访问地址

#define D12_COMMAND(*(unsigned char xdata *)0xff01)

#define D12_DATA (*(unsigned char xdata *)0x7f02)

extern void D12_int();

sbit D12_suspend=P1^0;

《采用PDIUSBD12的USB系统固件程序设计(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/164072.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。