USB初始化程序

USB初始化程序,第1张

USB单片机程序包括三部分

1.初始化单片机和外围电路(包括USB芯片)

2、主循环部分,用来检测

3.中断服务程序,其任务是对时间敏感的,必须马上执行

根据USB 协议,任何传输都是由主机host 开始的,这样,单片机作它的前台工作,等待中断,主机首先要发令牌包给USB 设备(这里是PDIUSBD12),PDIUSBD12 接收到令牌包后就给单片机发中断,单片机进入中断服务程序,首先读PDIUSBD12 的中断寄存器,判断USB 令牌包的类型,然后执行相应的 *** 作。

注意:因此,USB单片机程序主要就是中断服务程序的编写,在USB单片机程序中要完成对各种令牌包的响应,其中比较难处理的是SETUP包,主要是端口0的编程。
单片机与PDIUSBD12 的通信主要是靠单片机给PDIUSBD12发命令和数据来实现的。PDIUSBD12的命令字分为三种:初始化命令字、数据流命令字和通用命令字。PDIUSBD12给出了各种命令的代码和地址。单片机先给PDIUSBD12 的命令地址发命令,根据不同命令的要求再发送或读出不同的数据。因此可以将每种命令做成函数,用函数实现各个命令,以后直接调用函数即可

USB 初始化过程为

Set Address Enable;

Set Endpoint Enable(此时LED亮);

Disconnect;

delay (1~2 s);

Connect(即用43h 参数调用Set Mode,此时LED灭);

Read Interrupt Register。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2585438.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-08
下一篇 2022-08-08

发表评论

登录后才能评论

评论列表(0条)

保存