打印

usb库处理SET_ADDRESS的问题

[复制链接]
3050|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
踢球老越位|  楼主 | 2010-4-10 16:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
uint8_t In0_Process(void)
{
    uint32_t ControlState = pInformation->ControlState;

    if((ControlState == IN_DATA) || (ControlState == LAST_IN_DATA))
    {
        DataStageIn();
        /* ControlState may be changed outside the function */
        ControlState = pInformation->ControlState;
    }

    else if(ControlState == WAIT_STATUS_IN)
    {
                                                                //为什么在这里处理SET_ADDRESS这个请求呢??????????????
        if((pInformation->USBbRequest == SET_ADDRESS) &&
           (Type_Recipient == (STANDARD_REQUEST | DEVICE_RECIPIENT)))
        {
            SetDeviceAddress(pInformation->USBwValue0);
            pUser_Standard_Requests->User_SetDeviceAddress();
        }
        (*pProperty->Process_Status_IN)();
        ControlState = STALLED;
    }

    else
    {
        ControlState = STALLED;
    }

    pInformation->ControlState = ControlState;

    return Post0_Process();
}
香主,SET_ADDRESS这个标准请求不是应该在Setup0_Process()函数里面实现的吗?晕了。。。
沙发
香水城| | 2010-4-12 11:00 | 只看该作者
为什么要在Setup0_Process()函数里面实现?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

581

帖子

0

粉丝