STM32-USB鼠标解析(6)

2019-08-30 20:01

}

可见核心函数只支持设备描述符、配置描述符以及字符串描述符。最终该函数将调用: Result=

(*pProperty->Class_Data_Setup)(pInformation->USBbRequest); 调用用户的类特殊实现来获取报告描述符,同时HID类描述符也是通过这种方式取得的。

7、主机从中断端点读取鼠标操作数据 主机会轮询设备,设备数据的准备在主函数中,用Joystick_Send(JoyState())函数来实现。

Mouse_Buffer[1] = X; Mouse_Buffer[2] = Y;

/*copy mouse position info in ENDP1 Tx Packet Memory Area*/ UserToPMABufferCopy(Mouse_Buffer, GetEPTxAddr(ENDP1), 4); /* enable endpoint for transmission */ SetEPTxValid(ENDP1);

使能端点1的发送,当主机的IN令牌包来的时候,SIE将数据返回给主机。同时产生CTR中断。

在中断处理程序中,执行下列代码: if ((wEPVal & EP_CTR_TX) != 0) {

/* clear int flag */

_ClearEP_CTR_TX(EPindex); (*pEpInt_IN[EPindex-1])();

} /* if((wEPVal & EP_CTR_TX) != 0) */

这是在函数指针数组中调用函数,跟踪进入:发现这个函数什么也没有做。 经过对程序执行过程的跟踪和分析,我现在对USB设备HID类的工作有了大概的了解,对ST的USB库的工作也有了初步的概念。把所有文件的源代码粗略地浏览了一遍,心里大概有了些底。但现在我还不准备阅读源代码,我先把例程在智林开发板上移植好,再详细的阅读一遍源代码。


STM32-USB鼠标解析(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于公布保留和废止规范性文件的通知(河北省住房和城乡建设厅

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: