阅读:1523回复:5
我看了周立功的书,对SETUP包后面的两个字节的地址+端口的定义不明白
有谁能帮我一下吗,这两个字节的定义是怎么样的? :(
|
|
最新喜欢:![]() |
沙发#
发布于:2004-09-01 15:56
我靠,定时用啊,比如可以进行IO扫描,如控制灯闪烁、判断按键的按下等
|
|
板凳#
发布于:2004-08-31 19:56
定时器有什么用?
|
|
地板#
发布于:2004-08-31 19:47
呵呵,我不是什么大虾,我也是菜鸟一个啊!!
对于你的问题,答案是“yes”。有一个概念很重要,USB设备中与主机直接打交道的是USB芯片,也就是D12,它负责数据的接收和发送,并且在接收和发送数据完成以后,产生相应的中断,不同的中断以中断寄存器中不同的状态来表示,例如当主机首先通过端点0向D12发出最初的配置包时,D12会产生端点0的接收中断,单片机的中断服务程序要做两件事情,一是读取中断及相应的数据,处理寄存器,为下一次中断创建条件二是对中断进行处理,根据接收的请求内容,作出相应的动作。 在主函数运行时,它就要对I/O端口进行初始化,包括单片机和D12的端口,还有初始化定时器和设置中断等等一系列的工作 |
|
地下室#
发布于:2004-08-30 22:22
楼上的大侠,你所指的系统是指USB主机吗?我也是在作USB的,不过是初学者。我现在有些不明白,在我理解看来,应该是USB主机也就是PC,在USB设备连接到接口之后,发出配置命令,设备响应。那么现在要开发一个U盘,用单片机+PD12实现。我现在的的问题就是单片机的程序是否应该对PD12初始化。
|
|
5楼#
发布于:2004-08-30 15:38
D12是对端点进行操作的,刚开始枚举是系统是通过默认管道和端点0进行通讯的,然后获取设备描述符等硬件资料,然后再次分配地址给设备,这个地址就是以后主机和设备通讯的地址,而不再通过默认地址0和端点0,再进行一次获取设备描述符的操作就完成整个枚举过程,因为D12有6个端点,分配的地址也各不同,所以在SETUP中一定要带上这两个参数,呵呵,我是这么认为的,如有错误,请指正
crazyqp@163.com |
|