《USB初始化程序.doc》由会员分享,可在线阅读,更多相关《USB初始化程序.doc(1页珍藏版)》请在三一文库上搜索。
1、USB初始化程序USB的单片机程序包括三部分:1.初始化单片机和外围电路(包括USB芯片)2、主循环部分,用来检测3.中断服务程序,其任务是对时间敏感的,必须马上执行根据USB 协议,任何传输都是由主机host 开始的,这样,单片机作它的前台工作,等待中断,主机首先要发令牌包给USB 设备(这里是PDIUSBD12),PDIUSBD12 接收到令牌包后就给单片机发中断,单片机进入中断服务程序,首先读PDIUSBD12 的中断寄存器,判断USB 令牌包的类型,然后执行相应的操作。注意:因此,USB单片机程序主要就是中断服务程序的编写,在USB单片机程序中要完成对各种令牌包的响应,其中比较难处理的
2、是SETUP包,主要是端口0的编程。单片机与PDIUSBD12 的通信主要是靠单片机给PDIUSBD12发命令和数据来实现的。PDIUSBD12的命令字分为三种:初始化命令字、数据流命令字和通用命令字。PDIUSBD12给出了各种命令的代码和地址。单片机先给PDIUSBD12 的命令地址发命令,根据不同命令的要求再发送或读出不同的数据。因此可以将每种命令做成函数,用函数实现各个命令,以后直接调用函数即可USB 初始化过程为Set Address Enable;Set Endpoint Enable(此时LED亮);Disconnect;delay (12 s);Connect(即用43h 参数调用Set Mode,此时LED灭);Read Interrupt Register。